JavaEE 第7章 Mybatis框架(4学时)幻灯片_第1页
JavaEE 第7章 Mybatis框架(4学时)幻灯片_第2页
JavaEE 第7章 Mybatis框架(4学时)幻灯片_第3页
JavaEE 第7章 Mybatis框架(4学时)幻灯片_第4页
JavaEE 第7章 Mybatis框架(4学时)幻灯片_第5页
已阅读5页,还剩17页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、JavaEE架构,1,2,第7章 Mybatis框架,7.1 Mybatis简介 7.2 Mybatis快速入门 7.3 基本CRUD操作,2,6/22/2020,7.1 Mybatis简介,MyBatis是一个支持普通SQL查询、存储过程和高级映射的优秀持久层框架。 MyBatis消除了几乎所有的JDBC代码和参数的手工设置以及对结果集的检索封装。 MyBatis可以使用简单的XML或注解用于配置和原始映射,将接口和Java的POJO(Plain Ordinary Java Objects,普通的Java对象)映射成数据库中的记录。,【返回】,3,6/22/2020,7.2 Mybatis快

2、速入门,数据库:,create database testdb; use testdb; create table users( id int auto_increment not null, username varchar(20) not null, password varchar(20), primary key(id) );,4,6/22/2020,Mybatis入门示例:,步骤1: 添加mysql-connector-java依赖; 在pom.xml中新添Mybatis依赖:, mysql mysql-connector-java 5.1.45 , org.mybatis myba

3、tis 3.4.5 ,5,6/22/2020,步骤2:添加Mybatis配置文件,在src/main/resources/mybatis下新建Mybatis-config.xml文件:, ,配置Mysql数据库连接,userMapper.xml详见后页,添加映射资源文件,6,6/22/2020,步骤3:创建实体类User,在src/main/java/entity包下创建User类:,package entity; public class User int id; String username; String password; /getter和setter省略 Override publ

4、ic String toString() return User id= + id + , username= + username + , password= + password + ; ,User.ava,7,6/22/2020,步骤4:创建sql映射文件userMapper.xml,在src/main/resources/mapper下新建userMapper.xml :, select * from users where id= #id ,userMapper.xml,8,6/22/2020,步骤5:主程序,在src/main/java下新建Test.java:,import ja

5、va.io.IOException; import java.io.InputStream; import org.apache.ibatis.io.Resources; import org.apache.ibatis.session.SqlSession; import org.apache.ibatis.session.SqlSessionFactory; import org.apache.ibatis.session.SqlSessionFactoryBuilder; import entity.User; public class Test public static void m

6、ain(String args) throws IOException String resource = mybatis/mybatis-config.xml; InputStream inputStream = Resources.getResourceAsStream(resource); SqlSessionFactory sqlSessionFactory = new SqlSessionFactoryBuilder().build(inputStream); SqlSession sqlSession = sqlSessionFactory.openSession(); Strin

7、g statement = mapper.userMapper.getUser; /找到映射sql串 User user = sqlSession.selectOne(statement, 1); sqlSession.close(); System.out.println(user); ,Test.java,读取Mybatis配置文件并创建session,执行查询返回一个唯一对象,【返回】,9,6/22/2020,7.3 基本CRUD操作,1. 基于XML的实现 2. 基于注解的实现,10,6/22/2020,1. 基于XML的实现, select * from users where id

8、= #id insert into users(username,password) values(#username,#password) select * from users delete from users where id=#id update users set username=#username,password=#password where id=#id ,userMapper.xml,11,6/22/2020,CRUD代码(Create),public void testAdd() String resource = mybatis-config.xml; InputS

9、tream inputStream = Resources.getResourceAsStream(resource); SqlSessionFactory sqlSessionFactory = new SqlSessionFactoryBuilder().build(inputStream); SqlSession sqlSession = sqlSessionFactory.openSession(); String statement = mapper.userMapper.addUser; User user = new User(); user.setUsername(yy); u

10、ser.setPassword(yy); int retResult = sqlSession.insert(statement,user); sqlSmit(); sqlSession.close(); ,12,6/22/2020,CRUD代码(Retrieve),public void testGetAllUsers () String resource = mybatis-config.xml; InputStream inputStream = Resources.getResourceAsStream(resource); SqlSessionFactory sqlSessionFa

11、ctory = new SqlSessionFactoryBuilder().build(inputStream); SqlSession sqlSession = sqlSessionFactory.openSession(); String statement = mapper.userMapper.getAllUsers; List listUsers = sqlSession.selectList(statement); sqlSession.close(); System.out.println(listUsers); ,13,6/22/2020,CRUD代码(Update),pub

12、lic void testUpdate() String resource = mybatis-config.xml; InputStream inputStream = Resources.getResourceAsStream(resource); SqlSessionFactory sqlSessionFactory = new SqlSessionFactoryBuilder().build(inputStream); SqlSession sqlSession = sqlSessionFactory.openSession(); String statement = mapper.u

13、serMapper.updateUser; User user = new User(); user.setId(6); user.setUsername(hello); user.setPassword(hello); int retResult = sqlSession.update(statement,user); /修改id=6用户 sqlSmit(); sqlSession.close(); ,14,6/22/2020,CRUD代码(Delete),public void testDelete() String resource = mybatis-config.xml; Input

14、Stream inputStream = Resources.getResourceAsStream(resource); SqlSessionFactory sqlSessionFactory = new SqlSessionFactoryBuilder().build(inputStream); SqlSession sqlSession = sqlSessionFactory.openSession(); String statement = mapper.userMapper.deleteUser; int retResult = sqlSession.delete(statement

15、,7); /删除id=7用户 sqlSmit(); sqlSession.close(); ,【返回】,15,6/22/2020,2. 基于注解的实现,首先创建sql接口,接口中定义CRUD抽象方法; 在方法名上添加Insert、Delete、Update、Select注解来指明方法要执行的SQL;(把XML配置的sql写到方法上) 然后将sql接口添加到Mybatis配置文件中; 最后使用时,先获得映射接口,然后直接使用接口CRUD方法。,16,6/22/2020,(1) 定义sql映射接口,package mapper; public interface IUserMapper Inser

16、t(insert into users(username,password) values(#username,#password) public int addUser(User user); Delete(delete from users where id=#id) public int deleteUser(int id); Update(update users set username=#username,password=#password where id=#id) public int updateUser(User user); Select(select * from u

17、sers where id=#id) public User getUserById(int id); Select(select * from users) public List getAllUsers(); ,IUserMapper.java,17,6/22/2020,(2) 将sql映射接口添加到Mybatis配置文件, ,mybatis-config.java,18,6/22/2020,(3) CRUD代码(Create),public void testAdd() String resource = mybatis-config.xml; InputStream inputStre

18、am = Resources.getResourceAsStream(resource); SqlSessionFactory sqlSessionFactory = new SqlSessionFactoryBuilder().build(inputStream); SqlSession sqlSession = sqlSessionFactory.openSession(); IUserMapper mapper = sqlSession.getMapper(IUserMapper.class); User user = new User(); user.setUsername(new);

19、 user.setPassword(new); int add = mapper.addUser(user); sqlSmit(); sqlSession.close(); ,获得映射接口,直接使用接口方法,无需接口实现类来完成,19,6/22/2020,(3) CRUD代码(Retrieve),public void testGetAllUsers() String resource = mybatis-config.xml; InputStream inputStream = Resources.getResourceAsStream(resource); SqlSessionFactor

20、y sqlSessionFactory = new SqlSessionFactoryBuilder().build(inputStream); SqlSession sqlSession = sqlSessionFactory.openSession(); IUserMapper mapper = sqlSession.getMapper(IUserMapper.class); List listUsers= mapper.getAllUsers(); sqlSession.close(); System.out.println(listUsers); ,20,6/22/2020,(3) CRUD代码(Update),public void testUpdate() String resource = mybatis-config.xml; InputStream inputStream = Resources.getResourceAsStream(resource); SqlSessionFactory sqlSessionFactory = new SqlSessionFactoryBuilder().build(inputStream); SqlSession sqlSession = sqlSessionFactory.openSession(

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论