ps 一个用于生成MyBatis配置文件的插件 mybatis-generator
使用方法呢, 是加入maven插件中 然后执行相关命令可以实现自动生成MyBatis配置文件
自动映射
首先编写无参的javabean
package com.ming.MyBatis.POJO;/** * @author ming */public class Role { private int id; private String roleName; private String note; public Role(){ } /** * @param id */ public void setId(int id) { this.id = id; } /** * @param roleName */ public void setRole_name(String roleName) { this.roleName = roleName; } /** * @param note */ public void setNote(String note) { this.note = note; } /** * @return */ public int getId() { return id; } /** * @return */ public String getRoleName() { return roleName; } /** * @return */ public String getNote() { return note; }}然后创建数据库
这次使用的是开发环境创建的数据库
数据库类型如下
编写映射文件
SELECT id, role_name as roleName, note FROM t_role WHERE id = #{id}
此时结果会自动映射到VO对象中,根据VO对象自动调用set方法,然后进行赋值操作
此时DAO层接口
/** * @param id * @return */ public Role getRole(int id);
传递多个参数
如果需要传递多个参数,使用MyBatis提供的Map接口
首先新增加DAO层接口
/** * 查询Map * @param params * @return */ public List findRoleByteMap(Map params);
接着,书写映射文件,传递参数
SELECT id, role_name, note FROM t_roleWHERE role_name LIKE CONCAT('%', #{roleName}, '%')AND note LIKE CONCAT('%', #{note}, '%')
这里呢,定义了一个结果集
对于返回的数据,使用typehand进行拦截,将会调用自定义别名的role类
现在的完整文件
<?xml version="1.0" encoding="UTF-8" ?>SELECT id, role_name as roleName, note FROM t_role WHERE id = #{id}SELECT id, role_name, note FROM t_roleWHERE role_name LIKE CONCAT('%', #{roleName}, '%')AND note LIKE CONCAT('%', #{note}, '%')<?xml version="1.0" encoding="UTF-8" ?>
书写结果展示
Hello World!
long startTime = System.currentTimeMillis(); //获取开始时间
SqlSession sqlSession = null;
List role = null;
for(int i = 0; i < 10; i++) {
try {
sqlSession = SqlSessionFactoryUtil.openSqlSesion();
RoleMapper roleMapper = sqlSession.getMapper(RoleMapper.class);
Map paramsMap = new HashMap();
paramsMap.put("roleName