Mybatis入门
1. 导包
将所需的jar包加入工程

2.创建配置文件
在src下创建applicationContext-dao.xml文件,该文件是mybaits连接数据库和扫描sql文件等所需信息的配置文件(参考官网:https://mybatis.org/mybatis-3/zh/getting-started.html)
<?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="mysql">
<environment id="mysql">
<transactionManager type="JDBC"/>
<dataSource type="POOLED">
<property name="driver" value="com.mysql.jdbc.Driver"/>
<property name="url" value="jdbc:mysql://localhost:3306/mybatisdata?serverTimezone=CST&characterEncoding=utf-8"/>
<property name="username" value="root"/>
<property name="password" value="123456"/>
</dataSource>
</environment>
</environments>
<mappers>
<mapper resource="com\yd\mapper\UserMapper.xml"/>
</mappers>
</configuration>
3.创建目录

4.创建pojo实体类
public class Users implements Serializable {
private long uid;
private String username;
private String password;
private String city;
getter()/setter()
toString()
}
5.创建mapper.xml文件
该文件用于写sql语句(暂时硬编码)CURD示例如下:
<?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.yd.mapper">
<select id="selById" resultType="com.yd.pojo.Users">
select * from users where uid = 14
</select>
<!-- 返回一个集合 resultType就是泛型 -->
<select id="selAll" resultType="com.yd.pojo.Users">
select * from users
</select>
<insert id="insetUser">
insert into users values(null,'胡歌','22222','湖南')
</insert>
<update id="updateUser">
update users set password = '111' where uid = 26
</update>
<delete id="delUser">
delete from users where uid = 21
</delete>
</mapper>
6.测试
public class TestDemo {
SqlSession sqlSession;
public TestDemo() {
//创建applicationContext-dao.xml文件输入流
InputStream in = null;
try {
//使用ibatis中的Resources类方法
in = Resources.getResourceAsStream("applicationContext-dao.xml");
//使用工厂,将文件创建为对象
SqlSessionFactory sqlSessionFactory = new SqlSessionFactoryBuilder().build(in);
//自动提交
//sqlSession = sqlSessionFactory.openSession(ExecutorType.SIMPLE,true);
//使用工厂对象,创建sql执行器 默认手动提交事务
sqlSession = sqlSessionFactory.openSession();
} catch (IOException e) {
e.printStackTrace();
}
}
@Test
public void selById(){
Users user = sqlSession.selectOne("com.yd.mapper.selById");
System.out.println(user);
}
@Test
public void selMap(){
//Map以键值对的形式返回 "username":键名
Map<String, Users> userMap = sqlSession.selectMap("com.yd.mapper.selAll", "username");
System.out.println(userMap);
}
@Test
public void selList(){
List<Users> userList = sqlSession.selectList("com.yd.mapper.selAll");
System.out.println(userList);
}
@Test
public void insert(){
int n = sqlSession.insert("com.yd.mapper.insetUser");
sqlSession.commit();
System.out.println(n==1?"插入成功":"插入失败");
}
@Test
public void update(){
int n = sqlSession.update("com.yd.mapper.updateUser");
sqlSession.commit();
System.out.println(n==1?"更新成功":"更新失败");
}
@Test
public void delete(){
int n = sqlSession.delete("com.yd.mapper.delUser");
sqlSession.commit();
System.out.println(n==1?"删除成功":"删除失败");
}
}
浙公网安备 33010602011771号