myBatis笔记(第一部分)

	mybatis-config.xml文件常用配设

mybatis可以使用:
1.properties来引入外部properties配置文件的内容
resource:引入类路径下的资源
url:引入网络路径或者磁盘路径下的资源
2.settings包含很多重要的设置项
setting标签:用来设置每一个设置项
name:设置项的名字
有很多例如:mapUnderscoreToCamelCase将值设为true的话就可以将数据库的字段名以驼峰命名法映射到实体类
value:设置项的取值
3.typeAliases:别名处理器,可以为我们的java类型起别名(别名不区分大小写)
mybatis内部有为java的基本数据类型和常用的类起别名
typeAlias标签:为某个java类型起别名
type:指定要起别名的类型全类名,默认别名为类名的小写
alias:指定新的别名
package标签:可以为某个包下的所有类批量起别名
name:指定包名(后代包每一个类都起默认别名)为了避免别名冲突,可以在指定实体类前加上注解@Alias()来为类指定别名
4.environments:配置环境,mybatis可以配置多种环境
environment标签:配置一个具体的环境信息,id属性代表当前环境的唯一标识
transactionManager:

mysql支持自增主键,自增主键值的获取,mybatis也是利用statement.getGenreatedKeys(),
useGeneratedKeys=“true”,使用自增主键获取主键策略
keyProperty:指定对应主键属性,也就是mybatis获取到主键以后,将这个键封装给javaBean的哪个属性

	mybatis参数处理

单个参数,mybatis不会做特殊处理
#{参数名}:取出参数名
多个参数,会有异常
多个参数会被封装成一个map
#{}就是从map中获取指定的,#{param1,param2…}
key值,key:param1…paramN
value:传入的参数值
命名参数:明确指定封装参数时map的key
使用注解@Param(“id”)加载参数类型之前,指定map的key值
#{指定的key}取出对应参数值
如果多个参数正好是我们业务逻辑的数据模型,我们就可以直接传入pojo:
#{属性名}:取出出入的pojo的属性值
如果多个参数不是业务模型中的数据,没有对应的pojo,不经常使用,为了方便,我们也可以传入map
#{key}:取出map中对应的值
如果多个参数不是业务模型中的数据,但又经常使用,推荐来编写一个TO(Transfer Object)数据传输对象
Page{
int index;
int size;
}

public Employee getEmp(@Param(“id”)Integer id, String lastName );
取值: id==>#{id/param1} lastName== >#{param2}

public Employee getEmp( Integer id ,@Param( “e”)Employee emp) ;
取值: id==>#{param1} lastName===>#{ param2. lastName/e . lastName}

##特别注意:如果是Collection (List、Set)类型或者是数组,也会特殊处理.也是把传入的list或者数组封装在map中
key:Collection(collection), 如果是List还可以使用这个key(list),数组(array)

public Employee getEmpById(List ids);
取值:取出第-个id的值: #{list[0]}

猜你喜欢

转载自blog.csdn.net/qq_43538697/article/details/108203850