乐趣区

关于java:Mybatis学习日志第二天

增删改查

1. 在接口中定义方法

package com.kuang.dao;
import com.kuang.pojo.User;
import java.util.List;
public interface UserMapper {List<User>getUserList();
 // 依据 id 查问用户
 User getUserById(int id);
 // 插入一个用户
 int addUser(User user);
 // 批改用户信息
 void updateUser(User user);
 // 删除用户信息
 int deleteUser(int id);
}

2. 在 Usermapper.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.kuang.dao.UserMapper">
 <select id="getUserList" resultType="com.kuang.pojo.User">
 select * from mybaits.user;
  </select>
 <select id="getUserById" resultType="com.kuang.pojo.User" parameterType="int">
 select *from mybaits.user where id=#{id}
 </select>
 <insert id="addUser" parameterType="com.kuang.pojo.User" >
 insert into mybaits.user(id, name, password) values (#{id},#{name},#{password});
    </insert>
 <update id="updateUser" parameterType="com.kuang.pojo.User" >
 update mybaits.user set name=#{name}, password=#{password} where id=#{id};
    </update>
 <delete id="deleteUser" parameterType="int">
 delete from mybaits.user where id=#{id}
 </delete>
</mapper>

**namespace 中写 xml 文件的绝对路径
id 填办法名 留神要和接口中的办法名统一 不能有空格!!!
resultType 写实体类的绝对路径 **

3. 在测试类中写办法

@Test
public void test(){
// 获取 sqlsession 实例对象
//SqlSession 提供了在数据库执行 SQL 命令所需的所有办法
 SqlSession sqlSession = MybatisUtils.getSqlSession();
// 通过映射类并将已映射的 select 语句匹配到对应名称、参数和返回类型的办法
UserMapper userDao = sqlSession.getMapper(UserMapper.class);
 List<User> userList = userDao.getUserList();
 for (User user : userList) {System.out.println(user);
 }
// 敞开流
sqlSession.close();

留神增删改须要提交事务!!!

sqlSession.commit();

退出移动版