二、注解实现
前四步参考【一、Mybatis项目搭建】
5) 定义 sql 映射的接口
package com.mybatis.dao;
import java.util.List;
import org.apache.ibatis.annotations.Delete;
import org.apache.ibatis.annotations.Insert;
import org.apache.ibatis.annotations.Select;
import org.apache.ibatis.annotations.Update;
import com.mybatis.entity.User;
public interface UserDao {
//根据ID查询用户
@Select("select * from users where id=#{id}")
public User getUserById(int id);
//查询所有用户
@Select("select * from users")
public List<User> getAllUsers();
//添加用户
@Insert("insert into users (id,name,age) values(id_seq.nextval,#{name},#{age})")
public int addUser(User user);
//删除用户
@Delete("delete from users where id=#{id}")
public int deleteUserById(int id);
//更新用户
@Update("update users set name=#{name},age=#{age} whereid=#{id}")
public int updateUser(User user);
}6) 在 conf.xml 中注册这个映射接口
<mapper class="com.mybatis.dao.UserDao" />7) 测试。(DbUtil参考【一、Mybatis项目搭建】)
package com.mybatis.test;
import static org.junit.Assert.*;
import org.apache.ibatis.session.SqlSession;
import org.junit.Test;
import com.mybatis.dao.UserDao;
import com.mybatis.entity.User;
import com.mybatis.util.DbUtil;
public class UserTest {
SqlSessionsession = DbUtil.getSession();
UserDaouserDao = session.getMapper(UserDao.class);
Useruser = new User();
@Test
public void testSelectUser() {
try {
System.out.println(userDao.getUserById(2));
}catch (Exception e) {
e.printStackTrace();
fail("Not yet implemented");
}
}
@Test
public void testSelectUsers() {
try {
System.out.println(userDao.getAllUsers());
}catch (Exception e) {
e.printStackTrace();
fail("Not yet implemented");
}
}
@Test
public void addUsers() {
int insertok = 0;
try {
user.setName("wangwu");
user.setAge(1);
insertok = userDao.addUser(user);
System.out.println(insertok);
if(insertok > 0){
session.commit();
System.out.println("插入成功");
}else {
System.out.println("插入失败");
}
}catch (Exception e) {
e.printStackTrace();
fail("Not yet implemented");
}
}
@Test
public void deleteUsers() {
int deleteok = 0;
try {
user.setId(47);
deleteok = userDao.deleteUserById(user.getId());
System.out.println(deleteok);
if(deleteok > 0){
session.commit();
System.out.println("删除成功");
}else {
System.out.println("删除失败");
}
}catch (Exception e) {
e.printStackTrace();
fail("Not yet implemented");
}
}
@Test
public void updateUsers() {
int updateok = 0;
try {
user.setId(41);
user.setName("cat");
user.setAge(2);
updateok = userDao.updateUser(user);
System.out.println(updateok);
if(updateok > 0){
session.commit();
System.out.println("更新成功");
}else {
System.out.println("更新失败");
}
}catch (Exception e) {
e.printStackTrace();
fail("Not yet implemented");
}
}
}
5万+

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



