zoukankan      html  css  js  c++  java
  • Mybatis1入门——基础方式的增删该查、mapper动态代理方式的CRUD、类型转换器

    一.基础方式的增删该查:
    1.mybatis约定:输入参数parameterType和输出参数resulrType在形式上只能有一个。
    2.如果输入/输出参数:是简单类型(8个基本类型加String)则可以使用任何占位符,#{xxx};
                                    如果是对象类型,则必须是对象的属性,#{属性名}。
    3.输出参数:如果返回值类型是一个对象(如Person),则无论返回一个还是多个,在resultType都写成org.lanqiao.entity.Person,即resultType="org.lanqiao.entity.Person"。
    4.注意事项:a.如果使用的是JDBC事务方式则需要commit手动提,即session.commit();
                        b.所有的标签<select>.<update>等,都必须有sql语句,但sql参数值可选
                            sql有参数:session.insert(statement,参数值);
     
    二.mapper动态代理方式的CRUD(MyBatis接口开发):
    原则:约定优于配置
    硬编码方式:abc.java
                                        Configuration conf=new Configuration();
                                        conf.setName("myProject");
    配置方式:abc.xml
                                    <name>myProject</name>
    约定:默认值是myProject
     
    具体实现的步骤:
    1.基础环境:mybatis.jar/ojdbc.jar/conf.xml/mapper.xml
    2.(不同之处)约定的目标:省略掉statement,即根据约定,直接可以定位到sql语句。
        a.接口,接口中的方法必须遵循以下约定:
              1)方法名和mapper.xml文件中标签的id值相同;
              2)方法的输入参数和mapper.xml文件中标签的parameterType类型一致;
              3)方法的返回值和mapper.xml文件中标签的resultType类型一致;
    除了以上约定,要实现接口中的方法和Mapper.xml中的SQL标签一一对应,还需要以下一点:
        1)namespace的值,就是接口的全类名(接口-mapper.xml一一对应)
    匹配的过程:(约定的过程)
    1.根据接口名找到mapper.xml文件
    2.根据接口的方法名找到mapper.xml文件中的sql标签(方法名=sql标签的id)
    习惯:SQL映射文件(mapper.xml)和接口放在同一个包中(注意修改conf.xml文件中加载mapper.xml的路径)
    代码:PersonMappe personMapper=session.getMapper(PersonMapper.class);
         personMapper.方法
     
    优化:
    1.可以将配置信息单独放入db.properties文件中,然后再动态引入
    db.properties;
        k=v
    <properties resource="db.properties"/>
    引入之后使用${key}
    2.Mybaites全局参数
        <settings>
                <setting/>
        <settings/>
    3.别名:(定义别名时大小写无所谓)
        a.设置单个别名
        b.设置批量别名
    除了自定义别名外,MyBatis还内置了一些常见类的别名。
     
    三.类型转换器:
    1.MyBatis自带的一些常见的类型处理器
        int——number
    2.自定义MyBatis类型处理器
        Java——数据库(jdbc类型)
    自定义类型转换器(boolean-number)步骤:
    a.创建转换器:需要实现TypeHandler接口
            要实现转换器有两种选择:(1)实现接口TypeHandler接口
                                                     (2)继承BaseTypeHandler
    b.配置conf.xml
     
    注意:设置Integer时必须是大写。
     
    resultMap可以实现2个功能:
    1.类型转换
    2.属性-字段的映射关系
     
  • 相关阅读:
    OK335x mksd.sh hacking
    Qt jsoncpp 对象拷贝、删除、函数调用 demo
    OK335xS 256M 512M nand flash make ubifs hacking
    Qt QScrollArea and layout in code
    JsonCpp Documentation
    Qt 4.8.5 jsoncpp lib
    Oracle数据库生成UUID
    freemarker得到数组的长度
    FreeMarker中if标签内的判断条件
    freemarker语法
  • 原文地址:https://www.cnblogs.com/ghlz/p/12210092.html
Copyright © 2011-2022 走看看