【JavaEE】 01 MyBatis 配置(XML方式)
package person.lmy.test;
import com.sun.xml.internal.ws.policy.privateutil.PolicyUtils;
import org.apache.ibatis.io.Resources;
import org.apache.ibatis.session.RowBounds;
import org.apache.ibatis.session.SqlSession;
import org.apache.ibatis.session.SqlSessionFactory;
import org.apache.ibatis.session.SqlSessionFactoryBuilder;
import org.junit.After;
import org.junit.Before;
import org.junit.Test;
import person.lmy.dao.UserDao;
import person.lmy.domain.UerResult;
import person.lmy.domain.User;
import java.io.IOException;
import java.io.InputStream;
import java.sql.Timestamp;
import java.util.List;
public class MyBatisTest {
private InputStream in;
private SqlSessionFactoryBuilder builder;
private SqlSessionFactory factory;
private SqlSession session;
private UserDao userDao;
@Before
public void init() throws IOException {
in=Resources.getResourceAsStream("");//资源图纸
builder = new SqlSessionFactoryBuilder();//建造者
factory = builder.build(in);//建造者建立工程
session = factory.openSession();//工程模式生产session
userDao = session.getMapper(UserDao.class);//代理模式得到Mapper
}
/*查询全部*/
@Test
public void testFindAll(){
List<User> users = userDao.findAll();
for(User user:users){
System.out.println(user);
}
}
/*条件查询*/
@Test
public void testFindById(){
System.out.println("查询到"+userDao.findById(3));
}
/*模糊查询*/
@Test
public void testFindByName(){
List<User> users = userDao.findByName("%吴%");
for(User user:users){
System.out.println(user);
}
}
/*聚合查询*/
@Test
public void testFindTotal(){
System.out.println(userDao.findTotal());
}
/*分页查询*/
@Test
public void testFindByRowBounds(){
RowBounds rowBounds = new RowBounds(0,3);
List<User> users = userDao.findByRowBounds(rowBounds);
for(User user:users){
System.out.println(user);
}
}
/*resultMap 元素*/
@Test
public void testFindAllRusult(){
List<UerResult> users = userDao.findAllResult();
for (UerResult user:users){
System.out.println(user);
}
}
/*多参数传递*/
@Test
public void testFindByTitleAuthor(){
User userparam = new User();
userparam.setTitle("%西%");
userparam.setAuthor("%恩%");
List<User> users = userDao.findByTitleAuthor(userparam);
for(User user:users){
System.out.println(user);
}
}
/*添加一条信息*/
@Test
public void testAddUser(){
User user = new User();
user.setAuthor("高尔基");
user.setTitle("童年");
user.setPublication_date(Timestamp.valueOf("2022-03-21 21:33:18.0"));
user.setPrice(89);
System.out.println("增加"+userDao.addUser(user)+"条记录");
System.out.println(user);
session.commit();
}
/*修改信息*/
@Test
public void testUpdateUser(){
User user = new User();
user.setPrice(70);
user.setTitle("红楼梦");
System.out.println("修改"+userDao.updateUser(user)+"条记录");
}
/*删除信息*/
@Test
public void testDelUser(){
System.out.println("删除"+userDao.delUser(8)+"条记录");
}
@After
public void destory() throws IOException {
session.commit();
session.close();
in.close();
}
}