标签:接口 str 开发 font eal 一个 语句 HERE 复习
用mapper.xml的映射文件实现DAO的接口,需要两个配置文件,一个是核心配置xxxconf.xml和mapper.xml,得把mapper.xml的地址写进核心配置中
官方推荐使用mapper动态代理开发,即mapper里面的对象实现了接口功能
selectOne和selectList
如果返回list则调用selectList方法,如果返回单个对象则调用selectOne方法。
typeAliases(类型别名)
批量别名定义,扫描整个包下的类,别名为类名(大小写不敏感)
mappers(映射器)配置的几种方法,基本都是要求mapper接口名称和mapper映射文件名称相同,且放在同一个目录中。
like ‘%${value}%‘ 模糊查询
#{}表示一个占位符号,通过#{}可以实现preparedStatement向占位符中设置值,自动进行java类型和jdbc类型转换。#{}可以有效防止sql注入。 #{}可以接收简单类型值或pojo属性值。 如果parameterType传输单个简单类型值,#{}括号中可以是value或其它名称。
${}表示拼接sql串,通过${}可以将parameterType 传入的内容拼接在sql中且不进行jdbc类型转换, ${}可以接收简单类型值或pojo属性值,如果parameterType传输单个简单类型值,${}括号中只能是value。
包装对象:Pojo类中的一个属性是另外一个pojo。一般叫QueryVo
动态拼接sql,用标签组合if where等
一对多查询
逆向工程注意修改以下几点:
主键自增返回
查询id的sql
SELECT LAST_INSERT_ID()
<!-- 保存用户 -->
<insert id="saveUser" parameterType="cn.itcast.mybatis.pojo.User">
<!-- selectKey 标签实现主键返回 -->
<!-- keyColumn:主键对应的表中的哪一列 -->
<!-- keyProperty:主键对应的pojo中的哪一个属性 -->
<!-- order:设置在执行insert语句前执行查询id的sql,孩纸在执行insert语句之后执行查询id的sql -->
<!-- resultType:设置返回的id的类型 -->
<selectKey keyColumn="id" keyProperty="id" order="AFTER"
resultType="int">
SELECT LAST_INSERT_ID()
</selectKey>
INSERT INTO `user`
(username,birthday,sex,address) VALUES
(#{username},#{birthday},#{sex},#{address})
</insert>
标签:接口 str 开发 font eal 一个 语句 HERE 复习
原文地址:https://www.cnblogs.com/maplesu/p/9976213.html