》#千锋逆战#
相关依赖和配置参照https://www.jianshu.com/writer#/notebooks/42723625/notes/64341309
在配置mybatis.xml时一定要指定配置文件
<!--指定映射配置文件位置,映射配置文件指的是每一个dao独立的配置文件-->
<mappers>
<!--这里应是class而不是resource-->
<mapper class="com.qfedu.dao.IUserDao2"/>
</mappers>
SessionUtils.java
package com.qfedu.utils;
import org.apache.ibatis.io.Resources;
import org.apache.ibatis.session.SqlSession;
import org.apache.ibatis.session.SqlSessionFactory;
import org.apache.ibatis.session.SqlSessionFactoryBuilder;
import java.io.IOException;
public class SessionUtils {
private static SqlSessionFactory factory=null;
private static SqlSession session=null;
static {
try {
factory=new SqlSessionFactoryBuilder().build(Resources.getResourceAsStream("mybatis.xml"));
} catch (IOException e) {
e.printStackTrace();
}
}
/**
* 获取Session对象
* @return
*/
public static SqlSession getSession(){
session=factory.openSession(true);
return session;
}
/**
* 关闭Session
* @param session
*/
public static void closeSession(SqlSession session){
session.close();
}
}
IUserDao.java
package com.qfedu.dao;
import com.qfedu.pojo.User;
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 java.util.List;
public interface IUserDao2 {
@Select("select * from user")
List<User> findAllUser();
@Select("select * from user where id=#{id}")
User getUserById(int id);
@Insert("insert into user values (null ,#{username},#{password},#{age},#{sex},#{address})")
int saveUser(User u);
@Update("update user set username=#{username},password=#{password},age=#{age},sex=#{sex},address=#{address} where id=9")
int updateUser(User u);
@Delete("delete from user where id=#{id}")
int deleteUser(int id);
}
Test.java
package com.qfedu.test;
import com.qfedu.dao.IUserDao2;
import com.qfedu.pojo.User;
import com.qfedu.utils.SessionUtils;
import org.apache.ibatis.session.SqlSession;
import org.junit.After;
import org.junit.Before;
import org.junit.Test;
import java.util.List;
public class TestUser3 {
private static SqlSession session=null;
@Before
public void setUp(){
session = SessionUtils.getSession();
}
@After
public void tearDown(){
SessionUtils.closeSession(session);
}
@Test
public void findAll(){
IUserDao2 mapper = session.getMapper(IUserDao2.class);
List<User> allUser = mapper.findAllUser();
for (User user : allUser) {
System.out.println(user);
}
}
@Test
public void getUserById(){
IUserDao2 mapper = session.getMapper(IUserDao2.class);
User userById = mapper.getUserById(9);
System.out.println(userById);
}
@Test
public void saveUser(){
IUserDao2 mapper = session.getMapper(IUserDao2.class);
User u = new User();
u.setSex("男");
//u.setBirthday(Timestamp.valueOf(simpleDate.format(nowdate)));
u.setAddress("江苏苏州");
u.setUsername("李一一");
u.setAge(20);
u.setPassword("123456");
int user = mapper.saveUser(u);
System.out.println(user);
}
@Test
public void updateUser(){
IUserDao2 mapper = session.getMapper(IUserDao2.class);
User u = new User();
u.setSex("女");
//u.setBirthday(Timestamp.valueOf(simpleDate.format(nowdate)));
u.setAddress("江苏太仓");
u.setUsername("李小小");
u.setAge(19);
u.setPassword("1234567");
int user = mapper.updateUser(u);
System.out.println(user);
}
@Test
public void deleteUser(){
IUserDao2 mapper = session.getMapper(IUserDao2.class);
int result = mapper.deleteUser(4);
System.out.println(result);
}
}