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.属性-字段的映射关系
     
  • 相关阅读:
    将个人博客与github关联
    docker镜像制作
    perf命令
    vmstat命令
    ps命令
    top命令
    linux查看当前用户登陆信息
    .NET CORE应用程序启动
    WebAPI简介
    Redis-位图
  • 原文地址:https://www.cnblogs.com/ghlz/p/12210092.html
Copyright © 2011-2022 走看看