什么是 MyBatis ?
MyBatis 是一款优秀的持久层框架,支持普通查询,存储过程和高级映射,和JDBC相比,Mybatis消除了几乎所有JDBC代码和手工参数设置以及结果集的检索。
Mybatis实例:
项目结构:
1.新建maven项目,导入相应的依赖
2.创建Mybatis-config.xml配置文件
<?xml version="1.0" encoding="UTF-8" ?> <!DOCTYPE configuration PUBLIC "-//mybatis.org//DTD Config 3.0//EN" "http://mybatis.org/dtd/mybatis-3-config.dtd"> <configuration> <environments default="development"> <environment id="development"> <transactionManager type="JDBC"/> <dataSource type="POOLED"> <property name="driver" value="com.mysql.jdbc.Driver"/> <property name="url" value="jdbc:mysql://127.0.0.1:3306/test"/> <property name="username" value="root"/> <property name="password" value="password"/> </dataSource> </environment> </environments> <!-- 加入映射文件信息 --> <mappers> <mapper resource="com/entity/User.xml"/> </mappers> </configuration>
3.新建实体类User,添加set和get方法和有参无参的构造方法(篇幅问题我就不把所有的贴出来了)
4.创建sql映射文件 (User.xml)
<?xml version="1.0" encoding="UTF-8" ?> <!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd"> <mapper namespace="com.dao.UserDao"> <!--根据id得到user对象--> <select id="getUserId" parameterType="int" resultType="com.entity.User"> SELECT * from user WHERE uid=#{uid} </select> <!-- 查询user的所有记录--> <select id="getAllUser" resultType="com.entity.User"> select * from user </select> <!-- 删除--> <delete id="delUser" parameterType="int" > delete from user where uid=#{uid} </delete> <!-- 添加--> <insert id="addUser" useGeneratedKeys="true" keyProperty="id"> insert into user (uname,upwd) values (#{uname},#{upwd}) </insert> <!-- 修改--> <update id="updateUser" parameterType="com.entity.User"> update user set uname=#{uname},upwd=#{upwd} where uid = #{uid} </update> </mapper>
5.编写接口方法
public interface UserDao { public User getUserId(int uid); public List<User> getAllUser(); public void delUser(int uid); public void addUser(User user); public void updateUser(User user); }
6.完善pom.xml,让resource可以扫描xml映射文件
<build> <finalName>MyBatis01</finalName> <resources> <resource> <directory>src/main/java</directory> <includes> <include>**/*.xml</include> </includes> </resource> </resources> </build>
7.测试
//删除
@Test
public void testMybatis01(){
//读取映射文件
//获取sqlsessionfactory对象
try {
SqlSessionFactory sqlSessionFactory=new SqlSessionFactoryBuilder().build(Resources.getResourceAsStream("Mybatis-config.xml"));
//通过Sqlsessionfactory拿到sqlsession
SqlSession sqlSession= sqlSessionFactory.openSession();
// User user= sqlSession.selectOne("User.getUsreId",11);
// System.out.println(user);
UserDao2 userDao2= sqlSession.getMapper(UserDao2.class);
userDao2.delUser(17);
sqlSession.commit();
sqlSession.close();
} catch (IOException e) {
e.printStackTrace();
}
}
//查询
@Test
public void qeryUser() throws IOException {
//读取映射文件
//获取sqlsessionfactory对象
//通过sqlsessionfactory拿到sqlsession
SqlSessionFactory sqlSessionFactory=new SqlSessionFactoryBuilder().build(Resources.getResourceAsStream("Mybatis-config.xml"));
SqlSession sqlSession=sqlSessionFactory.openSession();
UserDao2 userDao2= sqlSession.getMapper(UserDao2.class);
List<User> li=userDao2.getAllUser();
for (User user : li) {
System.out.println(user);
}
}
//添加
@Test
public void adduser() throws IOException {
//读取映射文件
//获取sqlsessionfactory对象
//通过sqlsessionfactory拿到sqlsession
SqlSessionFactory sqlSessionFactory=new SqlSessionFactoryBuilder().build(Resources.getResourceAsStream("Mybatis-config.xml"));
SqlSession sqlSession= sqlSessionFactory.openSession();
UserDao2 userDao2= sqlSession.getMapper(UserDao2.class);
User user=new User();
user.setUname("用户名2");
user.setUpwd("密码2");
userDao2.addUser(user);
sqlSession.commit();
sqlSession.close();
}
//修改
@Test
public void updateUser() throws IOException {
//读取映射文件
//获取sqlsessionfactory对象
//通过sqlsessionfactory拿到sqlsession
SqlSessionFactory sqlSessionFactory=new SqlSessionFactoryBuilder().build(Resources.getResourceAsStream("Mybatis-config.xml"));
SqlSession sqlSession= sqlSessionFactory.openSession();
UserDao2 userDao2= sqlSession.getMapper(UserDao2.class);
User user=new User(14,"修改用户名","修改密码");
userDao2.updateUser(user);
sqlSession.commit();
sqlSession.close();
}
本文介绍了一款优秀的持久层框架MyBatis的基本使用方法,包括搭建环境、配置文件详解、基本CRUD操作实现等。


被折叠的 条评论
为什么被折叠?



