import com.github.pagehelper.PageHelper;
import com.github.pagehelper.PageInfo;
import com.tong.mapper.UserMapper;
import com.tong.pojo.User;
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 org.junit.After;
import org.junit.Before;
import org.junit.Test;
import java.io.IOException;
import java.io.InputStream;
import java.util.List;
public class TestUserMapper {
InputStream is = null;
SqlSession session = null;
UserMapper userMapper = null;
@Before
public void before() throws IOException {
is = Resources.getResourceAsStream("SqlMapConfig.xml");
SqlSessionFactoryBuilder builder = new SqlSessionFactoryBuilder();
SqlSessionFactory factory = builder.build(is);
session = factory.openSession();
userMapper = session.getMapper(UserMapper.class);
}
@After
public void after() throws IOException {
session.close();
is.close();
}
@Test
public void testFindAll() {
List<User> all = userMapper.findAll();
all.forEach(System.out::println);
}
// 测试分页插件
@Test
public void testFindPage(){
// 1.设置分页参数 参数一:页数,从1开始。参数二:每页条数
PageHelper.startPage(2,3);
// 2.正常查询
List<User> all = userMapper.findAll();
// 3.封装查询结果,生成页面对象
PageInfo pageInfo = new PageInfo(all);
// 4.打印页面对象的属性
System.out.println("结果集:"+pageInfo.getList());
System.out.println("总条数:"+pageInfo.getTotal());
System.out.println("总页数:"+pageInfo.getPages());
System.out.println("当前页:"+pageInfo.getPageNum());
System.out.println("每页条数:"+pageInfo.getSize());
}
@Test
public void testFindById() {
User user = userMapper.findById(1);
System.out.println(user);
}
@Test
public void testAdd() {
User user = new User("北京程序员", "女", "朝阳区");
System.out.println(user);
userMapper.add(user);
session.commit();
System.out.println(user);
}
@Test
public void testUpdate() {
User user = new User(14, "上海程序员", "女", "黄浦区");
userMapper.update(user);
session.commit();
}
@Test
public void testDelete() {
userMapper.delete(15);
session.commit();
}
@Test
public void testFindByUsername() {
List<User> all = userMapper.findByUsernameLike("%北京%");
all.forEach(System.out::println);
}
@Test
public void testFindByCondition() {
User user = new User();
user.setUsername("%北京%");
List<User> all = userMapper.findByCondition(user);
all.forEach(System.out::println);
}
}
没有合适的资源?快使用搜索试试~ 我知道了~
温馨提示
MyBatis 是一个开源的持久层框架,它为 Java 程序提供了一种优雅的方式来访问数据库。相较于传统的 JDBC 编程,MyBatis 提供了更简洁、更灵活的数据库访问方式,并且能够有效地减少与数据库相关的样板代码。其核心思想是将 SQL 语句从 Java 代码中分离出来,在 XML 或注解中进行配置,从而实现了 SQL 与 Java 代码的分离。 以下是 MyBatis 的一些主要特点和功能: SQL 映射配置:MyBatis 使用 XML 文件或注解来描述 SQL 语句和 Java 方法之间的映射关系。这种分离的方式使得 SQL 语句的维护和修改更加方便,同时也提高了代码的可读性。 参数映射:MyBatis 支持将 Java 对象与 SQL 参数进行映射,降低了手动编写参数绑定的工作量。 结果集映射:MyBatis 能够将查询结果自动映射到 Java 对象上,无需手动解析和转换结果集。 动态 SQL:MyBatis 提供了强大的动态 SQL 功能,可以根据条件动态生成不同的 SQL 语句,减少了代码冗余和提高了灵活性。 缓存支持:MyBatis 提供了一级缓存和二级
资源推荐
资源详情
资源评论
收起资源包目录
mybatisDemo3.rar (45个子文件)
mybatisDemo3
mybatisDemo3.iml 2KB
pom.xml 2KB
src
test
java
TestUserMapper2.java 1KB
TestUserMapper.java 3KB
TestManyTable.java 1KB
main
resources
SqlMapConfig.xml 1KB
db.properties 105B
log4j.properties 609B
java
com
tong
mapper
UserMapper.java 2KB
StudentMapper.java 1KB
ClassesMapper.java 1021B
provider
UserProvider.java 723B
pojo
Classes.java 917B
Student.java 1KB
User.java 1KB
.idea
checkstyleidea.tmp
qaplug_profiles.xml 41KB
libraries
Maven__org_mybatis_mybatis_3_5_7.xml 791B
Maven__com_github_pagehelper_pagehelper_5_3_0.xml 852B
Maven__mysql_mysql_connector_java_8_0_26.xml 865B
Maven__com_github_jsqlparser_jsqlparser_4_2.xml 838B
Maven__log4j_log4j_1_2_12.xml 760B
Maven__com_google_protobuf_protobuf_java_3_11_4.xml 872B
Maven__org_hamcrest_hamcrest_core_1_1.xml 823B
Maven__junit_junit_4_10.xml 746B
workspace.xml 2KB
misc.xml 734B
inspectionProfiles
Project_Default.xml 1KB
compiler.xml 649B
checkstyle-idea.xml 626B
modules.xml 271B
$PROJECT_FILE$ 364B
aws.xml 294B
target
classes
SqlMapConfig.xml 1KB
db.properties 105B
log4j.properties 609B
com
itbaizhan
mapper
ClassesMapper.class 883B
UserMapper.class 2KB
StudentMapper.class 1019B
provider
UserProvider.class 1KB
pojo
Classes.class 2KB
User.class 2KB
Student.class 2KB
test-classes
TestUserMapper.class 5KB
TestUserMapper2.class 2KB
TestManyTable.class 3KB
generated-test-sources
test-annotations
generated-sources
annotations
共 45 条
- 1
资源评论
童小纯
- 粉丝: 3w+
- 资源: 289
上传资源 快速赚钱
- 我的内容管理 展开
- 我的资源 快来上传第一个资源
- 我的收益 登录查看自己的收益
- 我的积分 登录查看自己的积分
- 我的C币 登录后查看C币余额
- 我的收藏
- 我的下载
- 下载帮助
安全验证
文档复制为VIP权益,开通VIP直接复制
信息提交成功