- 开发步骤:
- 1.添加MyBatis坐标
```org.mybatis mybatis3.4.6 ``` * 2.创建User数据表 * 3.编写user实体类 ``` public class User { private int id; private String username; private String password; public int getId() { return id; } public void setId(int id) { this.id = id; } public String getUsername() { return username; } public void setUsername(String username) { this.username = username; } public String getPassword() { return password; } public void setPassword(String password) { this.password = password; } @Override public String toString() { return "User{" + "id=" + id + ", username='" + username + ''' + ", password='" + password + ''' + '}'; } } ``` * 4.编写映射文件UserMapper.xml ``` mysql mysql-connector-java5.1.32 ``` 相关属性: namespace:命名空间,与下面语句id一起组成查询的标识 id:语句的id标识,与上面的命名空间一起组成查询的标识 resultType:查询结果的实体型 * 5.编写核心文件SqlMapConfig.xml ``` select * from admin ``` * 6.编写测试类 ``` @Test public void MyBatisTest() throws IOException { //获取核心配置文件的输入流 InputStream resourceAsStream = Resources.getResourceAsStream("SqlMapConfig.xml"); //获取Session工厂对象 SqlSessionFactory sqlSessionFactory = new SqlSessionFactoryBuilder().build(resourceAsStream); //获取Session会话对象 SqlSession sqlSession=sqlSessionFactory.openSession(); //执行操作 List users = sqlSession.selectList("UserMapper.findAll"); //输出数据 System.out.println(users.toString()); //释放资源 sqlSession.close(); } ```
-
MyBatis增删改查操作
- 插入操作
1.UserMapper.xml中的配置
insert into admin values (#{id},#{username},#{password}) 2.测试代码
@Test public void MyBatisInsertTest() throws IOException { //创造一个User对象 User user=new User(); user.setPassword("123456789"); user.setUsername("李小俊"); //获取核心配置文件的输入流 InputStream resourceAsStream = Resources.getResourceAsStream("SqlMapConfig.xml"); //获取Session工厂对象 SqlSessionFactory sqlSessionFactory = new SqlSessionFactoryBuilder().build(resourceAsStream); //获取Session会话对象 SqlSession sqlSession=sqlSessionFactory.openSession(); //执行操作 int insert = sqlSession.insert("UserMapper.save", user); //输出数据 System.out.println(insert); //提交事务 sqlSession.commit(); //释放资源 sqlSession.close(); }千万别忘了事务提交!
- 更新操作
1.UserMapper.xml中的配置
update admin set username=#{username},password=#{password} where id=#{id} 2.测试代码
@Test public void MyBatisUpdateTest() throws IOException { //创造一个User对象 User user=new User(); user.setId(7); user.setPassword("123456789"); user.setUsername("李小龙"); //获取核心配置文件的输入流 InputStream resourceAsStream = Resources.getResourceAsStream("SqlMapConfig.xml"); //获取Session工厂对象 SqlSessionFactory sqlSessionFactory = new SqlSessionFactoryBuilder().build(resourceAsStream); //获取Session会话对象 SqlSession sqlSession=sqlSessionFactory.openSession(); //执行操作 int insert = sqlSession.update("UserMapper.upuser", user); //输出数据 System.out.println(insert); //提交事务 sqlSession.commit(); //释放资源 sqlSession.close(); }- 删除操作
1.UserMapper.xml中的配置
delete from admin where id=#{number} 2.测试代码
@Test public void MyBatisDeleteTest() throws IOException { //获取核心配置文件的输入流 InputStream resourceAsStream = Resources.getResourceAsStream("SqlMapConfig.xml"); //获取Session工厂对象 SqlSessionFactory sqlSessionFactory = new SqlSessionFactoryBuilder().build(resourceAsStream); //获取Session会话对象 SqlSession sqlSession=sqlSessionFactory.openSession(); //执行操作 int delete = sqlSession.delete("UserMapper.delete", 7); //输出数据 System.out.println(delete); //提交事务 sqlSession.commit(); //释放资源 sqlSession.close(); } - 插入操作
-
MyBatis的核心配置文件的概述
核心文件层级关系- configuration配置
- properties属性
- settings设置
- typeAliases类型别名
- 注意配置的位置,他是在SqlMapConfig.xml配置文件下,且要注意他写的位置。
- typeHandlers类型处理器
- objectFactory对象工厂
- plugins插件
- environments环境
- environment环境变量
- transactionManager事务管理器
- dataSource数据源
- environment环境变量
- databaseIdProvider数据库厂商标识
- mappers映射器
- configuration配置
-
sql语句抽取
- 抽取
select * from user
- 引用
-
typeHandlers标签
- 开发步骤:
- 定义转换类继承basetypeHandler
- 覆盖4个未实现的方法,其中setNonNullParameter为java程序设置数据到数据库的回调方法,getNullableResult为查询时mysql的字符串类型转换成java的Type类型的方法
- 在MyBatis核心配置文件中进行注册
- 测试转换是否正确
-
pagehelper插件使用
- 使用步骤
- 导入相关坐标 :pagehelper和jsqlparser,注意版本问题
- 在核心配置文件中申明pagehelper插件
- 测试pagehleper功能
-
MyBatis多表配置方式:
- 一对一配置:使用
做配置 - 一对多配置:使用
+ 做配置 - 多对多配置:使用
+ 做配置
- 一对一配置:使用



