在配置好环境后,MyBatis就可以进行数据库的连接和操作,这里简单演示一下数据库的增删改查。
1、编写接口
import Util.User;
public interface MybatisI {
public User select(int id); //查询
public void insert(User user); //添加
public void update(User user); //修改
public void delete(int id); //删除
}
2、完成Mapper文件中的sql编写
<?xml version="1.0" encoding="UTF-8" ?>
<!DOCTYPE mapper
PUBLIC "-//mybatis.org//DTD Interface 3.0//EN"
"http://mybatis.org/dtd/mybatis-3-mapper.dtd">
<mapper namespace="Interface.MybatisI">
<!-- 查找-->
<select id="select" resultType="User">
select * from JDBC where id = #{id}
</select>
<!-- 添加-->
<insert id="insert" parameterType="User"
useGeneratedKeys="true" keyProperty="id">
insert JDBC(id,username,password) values (#{id},#{username},#{password})
</insert>
<!-- 更新-->
<update id="update" parameterType="User">
update JDBC set username = #{username},password = #{password}
where id = #{id}
</update>
<!-- 删除-->
<delete id="delete">
delete from JDBC where id = #{id}
</delete>
</mapper>
insert里面的useGeneratedKeys属性是用来获取数据库中自增主键的值
keyProperty属性是将该值封装给javaBean的id属性。
大功告成,测试代码
@Test
//查询
public void T1() throws Exception {
InputStream in = Resources.getResourceAsStream("Mybatis.xml"); //加载配置文件
SqlSessionFactory SF = new SqlSessionFactoryBuilder().build(in); //创建sqlSession工厂
SqlSession s = SF.openSession(); //创建SqlSession对象
User u = s.selectOne("select",3); //调用查询方法 第一个参数是指mapper文件中id为select的sql语句,第二个参数是指对sql语句传入的参数
System.out.println(u); //打印查询到的数据
s.close(); //关闭资源
}
@Test
//添加
public void T2() throws Exception {
InputStream in = Resources.getResourceAsStream("Mybatis.xml"); //加载配置文件
SqlSessionFactory SF = new SqlSessionFactoryBuilder().build(in); //创建sqlSession工厂
SqlSession s = SF.openSession(); //创建SqlSession对象
User u = new User();
u.setId(4);
u.setUsername("张飞");
u.setPassword("123654");
s.selectOne("insert",u); //调用方法
s.commit(); //提交数据
s.close(); //关闭资源
}
@Test
//修改
public void T3() throws Exception {
InputStream in = Resources.getResourceAsStream("Mybatis.xml"); //加载配置文件
SqlSessionFactory SF = new SqlSessionFactoryBuilder().build(in); //创建sqlSession工厂
SqlSession s = SF.openSession(); //创建SqlSession对象
User u = new User();
u.setId(1);
u.setUsername("李白");
u.setPassword("111111");
s.selectOne("update",u); //调用方法
s.commit(); //提交数据
s.close(); //关闭资源
}
@Test
//删除
public void T4() throws Exception {
InputStream in = Resources.getResourceAsStream("Mybatis.xml"); //加载配置文件
SqlSessionFactory SF = new SqlSessionFactoryBuilder().build(in); //创建sqlSession工厂
SqlSession s = SF.openSession(); //创建SqlSession对象
s.selectOne("delete",4); //调用方法
s.close(); //关闭资源
}