• MyBatis


    一、MyBatis核心配置文件mybatis-config.xml

     1 <?xml version="1.0" encoding="UTF-8"?>
     2 <!DOCTYPE configuration PUBLIC "-//mybatis.org//DTD Config 3.0//EN"
     3         "http://mybatis.org/dtd/mybatis-3-config.dtd">
     4 <configuration> 
     5               <environments default="mysql"> 
     6                      <environment id="mysql"> 
     7                            <transactionManager type="JDBC" /> 
     8                                <dataSource type="POOLED">
     9                       <property name="driver" value="com.mysql.jdbc.Driver" />
    10                                   <property name="url" value="jdbc:mysql://localhost:3306/mybatis" />              
    11                       <property name="username" value="root" />
    12                       <property name="password" value="root" />
    13                                 </dataSource>
    14                            </environment>
    15                       </environments> 
    16              <mappers>
    17          <mapper resource="com/itheima/mapper/CustomerMapper.xml" />
    18              </mappers>
    19         </configuration>

     

    二、映射文件×××Mapper.xml

     1 <?xml version="1.0" encoding="UTF-8"?>
     2 <!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
     3         "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
     4 <mapper namespace="com.wxy.mapper.CustomerMapper">
     5     <!--查-->
     6     <select id="findCustomerById" parameterType="Integer"
     7             resultType="com.wxy.pojo.Customer">
     8         select * from customer where id = #{id}
     9     </select>
    10     <select id="findCustomerByName" parameterType="String"
    11             resultType="com.wxy.pojo.Customer">
    12         select * from customer where username like concat('%',#{value},'%');
    13     </select>
    14     <select id="findCustomer" parameterType="com.wxy.pojo.Customer"
    15             resultType="com.wxy.pojo.Customer">
    16         select * from customer
    17     </select>
    18     <!--支持主键自增的数据库插入-->
    19     <insert id="addCustomer"  parameterType="com.wxy.pojo.Customer"
    20             keyProperty="id" useGeneratedKeys="true" >
    21         insert into customer(username,jobs,phone)
    22         values(#{username},#{jobs},#{phone})
    23     </insert>
    24     <!--不支持自增的数据库插入-->
    25     <insert id="addCustomer2"  parameterType="com.wxy.pojo.Customer">
    26         <selectKey keyProperty="id" order="AFTER" resultType="Integer">
    27             select last_insert_id()
    28         </selectKey>
    29         insert into customer(id,username,jobs,phone)
    30         values(#{id},#{username},#{jobs},#{phone})
    31     </insert>
    32     <!--改-->
    33     <update id="updateCustomer" parameterType="com.wxy.pojo.Customer">
    34         update customer set
    35         username=#{username},jobs=#{jobs},phone=#{phone}
    36         where id=#{id}
    37     </update>
    38     <!--删-->
    39     <delete id="deleteCustomer" parameterType="Integer">
    40         delete from customer where id=#{id}
    41     </delete>
    42 </mapper>

    三、MyBatis工作原理

     1 //1.读取配置文件
     2 String resource = "mybatis-config.xml";
     3 InputStream inputStream = Resources.getResourceAsStream(resource);
     4 //2.根据配置文件构建SqlSessionFactory
     5 SqlSessionFactory sqlSessionFactory = new SqlSessionFactoryBuilder().build(inputStream);
     6 //3.通过SqlSessionFactory创建SqlSession
     7 SqlSession sqlSession = sqlSessionFactory.openSession();
     8 //4.SqlSession执行映射文件中定义的SQL语句,并返回映射结果
     9 //即:调用映射文件中不同的子元素id,执行相应的操作
    10 {
    11          Customer customer = sqlSession.selectOne("com.itheima.mapper"
    12                     + “.CustomerMapper.findCustomerById”, 1);          
    13 }         
    14 //5.关闭SqlSession
    15 sqlSession.close();

    log4j.properties日志文件:

    log4j.rootLogger=ERROR, stdout
    log4j.logger.com.wxy=DEBUG
    log4j.appender.stdout=org.apache.log4j.ConsoleAppender
    log4j.appender.stdout.layout=org.apache.log4j.PatternLayout
    log4j.appender.stdout.layout.ConversionPattern=%5p [%t] - %m%n

  • 相关阅读:
    ArrayList集合 、特殊集合
    二维数组 、多维数组
    一维数组
    类:String,Math,DateTime,Random
    while做法1.兔子生兔子 2.求100以内质数的和3.洗发水15元 牙膏5元 香皂2元 150元的算法
    博客迁移
    [WC2008]游览计划 「斯坦那树模板」
    [SDOI2009]HH去散步 「矩阵乘法计数」
    [HNOI2007]梦幻岛宝珠 「套路:分层 $DP$」
    多项式求逆
  • 原文地址:https://www.cnblogs.com/wxywxy/p/9008142.html
Copyright © 2020-2023  润新知