美文网首页
mybatis笔记 - 04

mybatis笔记 - 04

作者: 50ef8076d671 | 来源:发表于2017-07-14 22:08 被阅读0次

    2017 06 13

    包结构示意图:

    image

    建立 modle test util 包

    modle包存放持久化对象和mapper映射文件

    test包存放Junit单元测试文件

    util包存放工具类

    新建jdbc.proeprties属性文件 按照 KEY = VALUE 格式存放数据库连接信息

    新建log4j.properties属性文件 存放sql语句显示配置

    代码示例

    jdbc.proeprties :

    jdbc.mysql.driver = com.mysql.jdbc.Driver
    jdbc.mysql.url = jdbc:mysql://127.0.0.1:3306/mybatis_test?useUnicode=true&characterEncoding=UTF-8&allowMultiQueries=true
    jdbc.mysql.username = root
    jdbc.mysql.password = root
    

    log4j.properties :

    # Global logging configuration
    # 级别 TRACE<DEBUG<INFO<WARN<ERROR
    log4j.rootLogger=ERROR, stdout
    # 想显示SQL语句,需要设置命名空间
    log4j.logger.com.shxt.model.User=TRACE
    # Console output...
    log4j.appender.stdout=org.apache.log4j.ConsoleAppender
    log4j.appender.stdout.layout=org.apache.log4j.PatternLayout
    log4j.appender.stdout.layout.ConversionPattern=%5p [%t] - %m%n
    

    主配置文件mybatis-config.xml文件中 数据库连接信息按照意义下代码示例进行配置

    通过 ${KEY} 的形式来取值

    <environments default="development_mysql">
        <environment id="development_mysql">
            <transactionManager type="JDBC" />
            <dataSource type="POOLED">
                <property name="driver" value="${jdbc.mysql.driver}" />
                <property name="url" value="${jdbc.mysql.url}" />
                <property name="username" value="${jdbc.mysql.username}" />
                <property name="password" value="${jdbc.mysql.password}" />
            </dataSource>
        </environment>
    </environments>
    

    单元测试注解说明 :

    import org.junit.After;
    import org.junit.Before;
    import org.junit.Test;
    
    public class test {
        //Before注解: 在运行每个方法前永远都首先执行本方法
        @Before
        public void Test01Method(){
            System.out.println("首先执行我!");
        }
        //after注解 : 在运行每个方法之后都会执行本方法
        @After
        public void Test02Method(){
            System.out.println("最后执行我!");
        }
        //Test注解: 调用JUnit框架测试方法是否通过
        @Test
        public void Test03Method(){
            System.out.println("测试通过!");
        }
    }
    

    在mapper映射文件中 存在<resultMap>标签 用于结果集处理

    type 表示结果集最终处理类型

    id 为当前resultMap指定名称方便调用

    <resultMap type="User" id="BaseResultMapper" >
        <!-- 用于标记数据表中的主键 -->
        <!-- column 数据库字段名 -->
        <!-- jdbcType 数据库字段类型 --> 
        <!-- property 持久化类的属性 -->
        <!-- javaType java类型 需要书写类名 --> 
        <id column="user_id" jdbcType="INTEGER" property="userId" javaType="java.lang.Integer" />
        <result column="account" jdbcType="VARCHAR" property="account" javaType="java.lang.String" />
        <result column="password" jdbcType="VARCHAR" property="pwd" javaType="java.lang.String" />
        <result column="user_name" jdbcType="VARCHAR" property="userName" javaType="java.lang.String" />
    </resultMap>
    

    sql标签用于存放sql语句中公共的部分 减少代码量

    在CRUD操作中通过<include>标签调用

    下列 <select> 标签将会给出一个示例

    <sql id="sys_user_columns">
        user_id,account,password,user_name
    </sql>
    
    
        <select id="like01" resultMap="BaseResultMapper">
            SELECT
                <include refid="sys_user_columns" />
            FROM
                user
            WHERE
                user_name like '%管%'
            </select>

    相关文章

      网友评论

          本文标题:mybatis笔记 - 04

          本文链接:https://www.haomeiwen.com/subject/xgnohxtx.html