1. 首页
  2. 软件开发
  3. JAVA
  4. MyBatis-02

MyBatis-02

  • 发布于 2024-09-26
  • 1 次阅读

type=“JDBC” 会自动开启事务,需要自己提交事务
type=“MANAGED” 不会开启事务

<transactionManager type="JDBC"></transactionManager>

配置数据源
type=“POOLED” 让mybatis帮我们维护连接池
type=“UNPOOLED” 每次都新建或释放连接

            <dataSource type="POOLED">
                <property name="driver" value="com.mysql.cj.jdbc.Driver"/>
                <property name="url" value="jdbc:mysql://localhost:3306/mybatis-example"/>
                <property name="username" value="root"/>
                <property name="password" value="root"/>
            </dataSource>

配置映射文件

<mappers>
     <mapper resource="mappers/EmployeeMapper.xml"></mapper>
</mappers>

settings

<settings>
        <setting name="logImpl" value="STDOUT_LOGGING"/>        <!--开启日志输出,选择使用system进行控制台输出-->
    </settings>

select emp_id empId,emp_name empName,emp_salary empSalary from t_emp where emp_id=#{
   id}

<!--
#{
   key}:占位符+赋值   emp_id=?    ?=赋值           动态值时使用
${
   key}:字符串拼接    "emp_id"+id                动态的列名 容器名 关键字使用

//sqlSession.commit();      查询不需要提交事务
-->

数据传入:

    <select id="queryBySalary" resultType="com.dc.pojo.Employee">
        select emp_salary empSalary from t_emp where emp_salary=#{
   salary}
    </select>

    <insert id="insertEmp">
        insert into t_emp (emp_name,emp_salary) values(#{
   empName} #{
   empSalary})
    </insert>

多个参数传入

    List<Employee> queryByNameAndSalary(@Param("a")String name, @Param("b")double salary);

    <select id="queryByNameAndSalary" resultType="com.dc.pojo.Employee">
        select emp_id empId,emp_name empName,emp_salary empSalary from t_emp
        where emp_name=#{
   a} and emp_salary=#{
   b}
    </select>

map传入

     <!--
    #{
   key}      key等于map的key
    -->
    <insert id="insertEmpMap">
        insert into t_emp (emp_name,emp_salary) values(#{
   name} #{
   salary})
    </insert>

原文链接: https://blog.csdn.net/qq_53568730/article/details/135437008