1. 查询
1.1 单个参数绑定查询
public User findUserById(Integer id);
<select id="findUserById" parameterType="java.lang.Integer" resultType=
"com.by.pojo.User" >
select * from user where id=#{id}
</select>
@Test
public void testFindUserById(){
UserDao userDao = sqlSession.getMapper(UserDao.class);
User user = userDao.findUserById(41);
System.out.println(user);
}
1.2 序号参数绑定查询(多个参数查询)
public User findUserByIdAndName(Integer id, String username);
<select id="findUserById" parameterType="java.lang.Integer"
resultType="com.by.pojo.User" >
select * from user where id=#{id}
</select>
@Test
public void testFindUserById(){
UserDao userDao = sqlSession.getMapper(UserDao.class);
User user = userDao.findUserById(41);
System.out.println(user);
}
1.3 注解参数绑定(多个参数传递)
public User findUserByIdAndName2(@Param("id")Integer id,
@Param("username")String username);
<select id="findUserByIdAndName2" resultType="com.by.pojo.User" >
SELECT * FROM user
WHERE id = #{id} AND username = #{username}
</select>
@Test
public void testFindUserByIdAndName2(){
UserDao userDao = sqlSession.getMapper(UserDao.class);
User user = userDao.findUserByIdAndName2(41,"张三丰");
System.out.println(user);
}
1.4 对象参数绑定(多个参数传递)
public User findUserByUserInfo(User user);
<select id="findUserByUserInfo" parameterType="com.by.pojo.User"
resultType="com.by.pojo.User">
SELECT * FROM user
WHERE id = #{id} AND username = #{username}
</select>
@Test
public void testFindUserByName(){
UserDao userDao = sqlSession.getMapper(UserDao.class);
User userInfo = new User();
userInfo.setId(41);
userInfo.setUsername("张三丰");
User user = userDao.findUserByUserInfo(userInfo);
System.out.println(user);
}
1.5 Map参数绑定(多个参数传递)
public User findUserByMap(Map<String, Object> map);
<select id="findUserByMap"
parameterMap="java.util.Map" resultType="com.by.pojo.User">
SELECT * FROM user
WHERE id = #{id} AND username = #{username}
</select>
@Test
public void testFindUserByMap(){
UserDao userDao = sqlSession.getMapper(UserDao.class);
Map<String, Object> map = new HashMap<String, Object>();
map.put("id",41);
map.put("username","张三丰");
User user = userDao.findUserByMap(map);
System.out.println(user);
}
2. 删除
public void deleteUserById(Integer id);
<delete id="deleteUserById" parameterType="Integer">
DELETE FROM user
WHERE id = #{id}
</delete>
@Test
public void testDeleteUserById(){
UserDao userDao = sqlSession.getMapper(UserDao.class);
userDao.deleteUserById(41);
sqlSession.commit();
}
3. 修改
public void updateUserById(User user);
<update id="updateUserById" parameterType="com.by.pojo.User">
update user set username=#{username},password=#{password},
birthday=#{birthday},sex=#{sex},address=#{address} where id=#{id}
</update>
@Test
public void testUpdateUserById(){
UserDao userDao = sqlSession.getMapper(UserDao.class);
User user = new User();
user.setUsername("马德华");
user.setPassword("111");
user.setBirthday(new Date());
user.setSex("男");
user.setAddress("高老庄");
user.setId(42);
userDao.updateUserById(user);
sqlSession.commit();
}
4. 添加
public void insertUser(User user);
<insert id="insertUser" parameterType="com.by.pojo.User">
<selectKey keyProperty="id" order="AFTER" resultType="java.lang.Integer">
select last_insert_id();
</selectKey>
insert into user(username,password,birthday,sex,address)
values(#{username},#{password},#{birthday},#{sex},#{address});
</insert>
@Test
public void testInsertUser(){
UserDao userDao = sqlSession.getMapper(UserDao.class);
User user = new User();
user.setUsername("刘德华");
user.setPassword("111");
user.setBirthday(new Date());
user.setSex("男");
user.setAddress("香港");
userDao.insertUser(user);
System.out.println("新增记录的id值:"+user.getId());
sqlSession.commit();
}
以上便是的MyBatisde的基本数据增删改查的代码演示