Mybatis入门——基础方式的增删该查、mapper动态…

2020-01-18 16:01:13来源:博客园 阅读 ()

新老客户大回馈,云服务器低至5折

Mybatis入门——基础方式的增删该查、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.属性-字段的映射关系  

原文链接:https://www.cnblogs.com/ghlz/p/12210092.html
如有疑问请与原作者联系

标签:

版权申明:本站文章部分自网络,如有侵权,请联系:west999com@outlook.com
特别注意:本站所有转载文章言论不代表本站观点,本站所提供的摄影照片,插画,设计作品,如需使用,请与原作者联系,版权归原作者所有

上一篇:Java连载74-字符串常用方法、正则表达式简介

下一篇:图文解释 读写分离、垂直拆分、水平拆分、分库分表