文件目录截图
代码
package net.yq.mybatis.bean;
import java.util.List;
public class Clazz {
private int id;
private String name;
private Teacher teacher;
private List<Student> students;
public int getId() {
return id;
}
public void setId(int id) {
this.id = id;
}
public String getName() {
return name;
}
public void setName(String name) {
this.name = name;
}
public Teacher getTeacher() {
return teacher;
}
public void setTeacher(Teacher teacher) {
this.teacher = teacher;
}
public List<Student> getStudents() {
return students;
}
public void setStudents(List<Student> students) {
this.students = students;
}
@Override
public String toString() {
return "Clazz{" +
"id=" + id +
", name='" + name + '\'' +
", teacher=" + teacher.getName() +
", students=" + students +
'}';
}
}
package net.yq.mybatis.bean;
public class Student {
private int id;
private String name;
private String gender;
private int age;
private Clazz clazz;
public int getId() {
return id;
}
public void setId(int id) {
this.id = id;
}
public String getName() {
return name;
}
public void setName(String name) {
this.name = name;
}
public String getGender() {
return gender;
}
public void setGender(String gender) {
this.gender = gender;
}
public int getAge() {
return age;
}
public void setAge(int age) {
this.age = age;
}
public Clazz getClazz() {
return clazz;
}
public void setClazz(Clazz clazz) {
this.clazz = clazz;
}
@Override
public String toString() {
return "Student{" +
"id=" + id +
", name='" + name + '\'' +
", gender='" + gender + '\'' +
", age=" + age +
", clazz=" + clazz.getName() +
'}';
}
}
package net.yq.mybatis.bean;
public class Teacher {
private int id;
private String name;
public int getId() {
return id;
}
public void setId(int id) {
this.id = id;
}
public String getName() {
return name;
}
public void setName(String name) {
this.name = name;
}
@Override
public String toString() {
return "Teacher{" +
"id=" + id +
", name='" + name + '\'' +
'}';
}
}
package net.yq.mybatis.bean;
public class User {
private int id;
private String name;
private int age;
private String address;
public int getId() {
return id;
}
public void setId(int id) {
this.id = id;
}
public String getName() {
return name;
}
public void setName(String name) {
this.name = name;
}
public int getAge() {
return age;
}
public void setAge(int age) {
this.age = age;
}
public String getAddress() {
return address;
}
public void setAddress(String address) {
this.address = address;
}
@Override
public String toString() {
return "User{" +
"id=" + id +
", name='" + name + '\'' +
", age=" + age +
", address='" + address + '\'' +
'}';
}
}
package net.yq.mybatis.bean;
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.Reader;
import java.util.List;
public class TestUserOperation {
private SqlSession sqlSession; // SQL会话
@Before
public void init() {
try {
// 读取MyBatis配置文件
Reader reader = Resources.getResourceAsReader("mybatis-config.xml");
// 基于MyBatis配置文件构建SQL会话工厂
SqlSessionFactory factory = new SqlSessionFactoryBuilder().build(reader);
// 利用SQL会话工厂获取SQL会话
sqlSession = factory.openSession();
// 提示用户SQL会话创建成功
System.out.println("sqlSession对象已创建。");
} catch (IOException e) {
e.printStackTrace();
}
}
@Test
public void testFindById() {
int id = 1;
User user = sqlSession.selectOne("net.yq.mybatis.mapper.UserMapper.findById",id);
if (user != null) {
System.out.println(user);
} else {
System.out.println("编号为[" + id + "]的用户未找到。");
}
}
@Test
public void testFindAll() {
List<User> users = sqlSession.selectList("net.yq.mybatis.mapper.UserMapper.findAll");
users.forEach(System.out::println);
}
@After
public void destroy() {
// 关闭SQL会话
sqlSession.close();
// 提示用户SQL会话对象关闭
System.out.println("sqlSession对象已关闭。");
}
}
package net.yq.mybatis.mapper;
import net.yq.mybatis.bean.Clazz;
import net.yq.mybatis.bean.Student;
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.Reader;
import java.util.List;
public class TestClazzMapper {
private SqlSession sqlSession; // SQL会话
private ClazzMapper clazzMapper;//用户映射器
@Before
public void init() {
try {
// 读取MyBatis配置文件
Reader reader = Resources.getResourceAsReader("mybatis-config.xml");
// 基于MyBatis配置文件构建SQL会话工厂
SqlSessionFactory factory = new SqlSessionFactoryBuilder().build(reader);
// 利用SQL会话工厂获取SQL会话
sqlSession = factory.openSession();
//利用SQL会话获取用户映射器对象
clazzMapper = sqlSession.getMapper(ClazzMapper.class);
// 提示用户SQL会话创建成功
System.out.println("sqlSession对象已创建。");
} catch (IOException e) {
e.printStackTrace();
}
}
@Test
public void testFindById(){
int id = 1;
Clazz clazz = clazzMapper.findById(id);
System.out.println(clazz);
System.out.println("班级编号[" +id + "]的学生:");
List<Student> students = clazz.getStudents();
students.forEach(System.out::println);
}
@Test
public void testFindAll() {
List<Clazz> clazzes = clazzMapper.findAll();
clazzes.forEach(System.out::println);
}
@After
public void destroy() {
// 关闭SQL会话
sqlSession.close();
// 提示用户SQL会话对象关闭
System.out.println("sqlSession对象已关闭。");
}
}
package net.yq.mybatis.mapper;
import net.yq.mybatis.bean.Student;
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.Reader;
import java.util.HashMap;
import java.util.List;
import java.util.Map;
public class TestStudentMapper {
private SqlSession sqlSession; // SQL会话
private StudentMapper studentMapper;//用户映射器
@Before
public void init() {
try {
// 读取MyBatis配置文件
Reader reader = Resources.getResourceAsReader("mybatis-config.xml");
// 基于MyBatis配置文件构建SQL会话工厂
SqlSessionFactory factory = new SqlSessionFactoryBuilder().build(reader);
// 利用SQL会话工厂获取SQL会话
sqlSession = factory.openSession();
//利用SQL会话获取用户映射器对象
studentMapper = sqlSession.getMapper(StudentMapper.class);
// 提示用户SQL会话创建成功
System.out.println("sqlSession对象已创建。");
} catch (IOException e) {
e.printStackTrace();
}
}
@Test
public void testFindByCondition(){
Map<String,Object> condition = new HashMap<>();
condition.put("gender","女");
condition.put("age",19);
condition.put("name","吴");
List<Student> students = studentMapper.findByCondition(condition);
students.forEach(System.out::println);
}
@After
public void destroy() {
// 关闭SQL会话
sqlSession.close();
// 提示用户SQL会话对象关闭
System.out.println("sqlSession对象已关闭。");
}
}
package net.yq.mybatis.mapper;
import net.yq.mybatis.bean.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.Reader;
import java.util.List;
public class TestUserMapper {
private SqlSession sqlSession; // SQL会话
private UserMapper userMapper;//用户映射器
@Before
public void init() {
try {
// 读取MyBatis配置文件
Reader reader = Resources.getResourceAsReader("mybatis-config.xml");
// 基于MyBatis配置文件构建SQL会话工厂
SqlSessionFactory factory = new SqlSessionFactoryBuilder().build(reader);
// 利用SQL会话工厂获取SQL会话
sqlSession = factory.openSession();
//利用SQL会话获取用户映射器对象
userMapper = sqlSession.getMapper(UserMapper.class);
// 提示用户SQL会话创建成功
System.out.println("sqlSession对象已创建。");
} catch (IOException e) {
e.printStackTrace();
}
}
@Test
public void testFindById() {
int id = 2;
User user = userMapper.findById(id);
if (user != null) {
System.out.println(user);
} else {
System.out.println("编号为[" + id + "]的用户未找到。");
}
}
@Test
public void testFindAll() {
List<User> users = userMapper.findAll();
users.forEach(System.out::println);
}
@Test
public void testfindByName(){
String name = "王";
List<User> users = userMapper.findByName(name);
if (users.size()>0){
users.forEach(System.out::println);
}else {
System.out.println("没有找到姓["+name+"]的人");
}
}
@Test
public void testInsert(){
User user = new User();
user.setName("测试2");
user.setAge(20);
user.setAddress("测试11");
int count = userMapper.insert(user);
sqlSession.commit();
if (count > 0){
System.out.println("插入成功");
System.out.println("插入新记录为:"+user);
}else {
System.out.println("插入失败");
}
}
@Test
public void testUpdate(){
User user = userMapper.findById(4);
System.out.println("更新前"+user);
user.setName("测试2");
user.setAge(25);
user.setAddress("冲冲冲冲");
int count = userMapper.update(user);
sqlSession.commit();
if (count > 0){
System.out.println("更新成功");
System.out.println("更新后的记录:"+ user);
}else {
System.out.println("更新失败");
}
}
@Test
public void testDeleteById(){
int id = 4;
User user = userMapper.findById(id);
System.out.println("待删除的记录"+user);
userMapper.deleteById(id);
sqlSession.commit();
System.out.println("编号为[" + id + "]的记录删除成功");
user = userMapper.findById(id);
if (user != null){
System.out.println(user);
}else {
System.out.println("编号为[" + id + "]的用户未找到");
}
}
@After
public void destroy() {
// 关闭SQL会话
sqlSession.close();
// 提示用户SQL会话对象关闭
System.out.println("sqlSession对象已关闭。");
}
}
package net.yq.mybatis.testtest;
import net.yq.mybatis.bean.User;
import net.yq.mybatis.mapper.UserMapper;
import org.apache.ibatis.datasource.pooled.PooledDataSource;
import org.apache.ibatis.io.Resources;
import org.apache.ibatis.mapping.Environment;
import org.apache.ibatis.session.Configuration;
import org.apache.ibatis.session.SqlSession;
import org.apache.ibatis.session.SqlSessionFactory;
import org.apache.ibatis.session.SqlSessionFactoryBuilder;
import org.apache.ibatis.transaction.TransactionFactory;
import org.apache.ibatis.transaction.jdbc.JdbcTransactionFactory;
import org.junit.After;
import org.junit.Before;
import org.junit.Test;
import javax.sql.DataSource;
import java.util.List;
public class testt {
private SqlSession sqlSession; // SQL会话
private UserMapper userMapper;//用户映射器
@Before
public void init() {
//创建数据源
DataSource dataSource = new PooledDataSource("com.mysql.jdbc.Driver","jdbc:mysql://localhost:3306/testdb?useSSL=false",
"root","123456");
//创建事务工厂
TransactionFactory transactionFactory = new JdbcTransactionFactory();
//创建数据库环境
Environment environment = new Environment("development", transactionFactory, dataSource);
//基于环境创建配置对象
Configuration configuration = new Configuration(environment);
//添加用户映射器接口
configuration.addMapper(UserMapper.class);
//基于配置对象创建SQL会话工厂
SqlSessionFactory factory = new SqlSessionFactoryBuilder().build(configuration);
// 利用SQL会话工厂获取SQL会话
sqlSession = factory.openSession();
//利用SQL会话获取用户映射器对象
userMapper = sqlSession.getMapper(UserMapper.class);
// 提示用户SQL会话创建成功
System.out.println("sqlSession对象已创建。");}
@Test
public void testFindById() {
int id = 1;
User user = sqlSession.selectOne("net.yq.mybatis.mapper.UserMapper.findById",id);
if (user != null) {
System.out.println(user);
} else {
System.out.println("编号为[" + id + "]的用户未找到。");
}
}
@Test
public void testFindAll() {
List<User> users = sqlSession.selectList("net.yq.mybatis.mapper.UserMapper.findAll");
users.forEach(System.out::println);
}
@After
public void destroy() {
// 关闭SQL会话
sqlSession.close();
// 提示用户SQL会话对象关闭
System.out.println("sqlSession对象已关闭。");
}
}
后来电脑坏了,重装了,没弄数据库,就不测试了,之前运行都没问题。
上面那堆代码就是截图中从上至下
结束!