目录
实现步骤
1.pom.xml依赖
2.创建数据库
3.数据库映射类
4.sql映射文件
5.mybatis主配置文件
6
.测试select
创建Util类
用于创建SqlSession
使用工具类测试select
测试insert数据
实现步骤
1.pom.xml依赖chapter-hello-mybatis:第一个入门的mybatis例子 实现步骤: 1.新建Student表 2.加入maven的mybatis坐标,mysql驱动的坐标 3.创建实体类,Student---保存表中的一个行数据 4.创建持久层的dao接口,定义 *** 作数据库的方法 5.创建一个mybatis使用的配置文件 叫做mysql驱动:写sql语句的。一般一个表一个sql映射文件,这个文件是xml文件。 1.文件写在接口所在的目录中 2.文件名称和接口保持一致 6.创建mybatis的猪配置文件: 一个项目就一个主配置文件。 主配置文件提供数据库的连接信息和sql文件的位置信息 7.创建使用mybatis的类
2.创建数据库 3.数据库映射类4.0.0 edu.tjdz ch01-hello-mybatis1.0-SNAPSHOT UTF-8 1.8 1.8 junit junit4.11 test org.mybatis mybatis3.5.6 mysql mysql-connector-java8.0.25 src/main/java ***.xml false
package edu.tjdz.domain; //推荐和表名一样,容易记忆 public class Student { Integer id; String name; String email; Integer age; public Integer getId() { return id; } public void setId(Integer id) { this.id = id; } public String getName() { return name; } public void setName(String name) { this.name = name; } public String getEmail() { return email; } public void setEmail(String email) { this.email = email; } public Integer getAge() { return age; } public void setAge(Integer age) { this.age = age; } @Override public String toString() { return "Student{" + "id=" + id + ", name='" + name + ''' + ", email='" + email + ''' + ", age=" + age + '}'; } } package edu.tjdz.dao; import edu.tjdz.domain.Student; import java.util.List; //接口, *** 作Student表 public interface StudentDao { //查询Student表的所有数据 public List4.sql映射文件selectStudents(); //插入方法 //参数:Student,表示要插入的数据库的数据 //返回值:int ,表示执行insert *** 作后,影响数据库的行数 public int insertStudent(Student student); }
StudentDao.xml
5.mybatis主配置文件insert into student values(#{id},#{name},#{email},#{age});
mybatis.xml
6.测试select
package edu.tjdz; import edu.tjdz.domain.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 java.io.IOException; import java.io.InputStream; import java.util.List; public class MyApp { public static void main(String[] args) throws IOException { //访问mybatis读取student数据 //1.定义mybatis主配置文件的名称 String config = "mybatis.xml"; //2.读取config表示的文件 InputStream in = Resources.getResourceAsStream(config); //3.创建SqlSessionFactoryBuilder对象 SqlSessionFactoryBuilder builder = new SqlSessionFactoryBuilder(); //4.创建SqlSessionFactory对象 SqlSessionFactory factory = builder.build(in); //5.[重要]获取SqlSession对象,从SqlSessionFactory中获取SqlSession SqlSession sqlSession = factory.openSession(); //6.[重要]指定要执行的sql语句的标识。sql映射文件中的namespace+"."+标签的id值 String sqlId = "edu.tjdz.dao.StudentDao.selectStudents"; //7.执行sql语句,通过sqlId找到语句 List创建Util类 用于创建SqlSessionstudentList = sqlSession.selectList(sqlId); //8.输出结果 //studentList.forEach(student -> System.out.println(student)); for(Student stu : studentList){ System.out.println("查询的学生:"+stu); } //9.关闭资源 sqlSession.close(); } }
package edu.tjdz.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; import java.io.InputStream; public class MyBatitsUtils { private static SqlSessionFactory factory = null; //静态代码块在类加载的时候执行 static { String config = "mybatis.xml"; try { InputStream in = Resources.getResourceAsStream(config); //创建SqlSessionFactory对象,使用SqlSessionFactoryBuilder factory = new SqlSessionFactoryBuilder().build(in); } catch (IOException e) { e.printStackTrace(); } } //获取SqlSession的方法 public static SqlSession getSqlSession(){ SqlSession sqlSession = null; if (factory != null){ sqlSession = factory.openSession(true); } return sqlSession; } }使用工具类测试select
package edu.tjdz; import edu.tjdz.domain.Student; import edu.tjdz.utils.MyBatitsUtils; 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; import java.io.InputStream; import java.util.List; public class MyApp2 { public static void main(String[] args) throws IOException { //[重要]获取SqlSession对象,从SqlSessionFactory中获取SqlSession SqlSession sqlSession = MyBatitsUtils.getSqlSession(); //[重要]指定要执行的sql语句的标识。sql映射文件中的namespace+"."+标签的id值 String sqlId = "edu.tjdz.dao.StudentDao.selectStudents"; //执行sql语句,通过sqlId找到语句 List测试insert数据studentList = sqlSession.selectList(sqlId); //输出结果 //studentList.forEach(student -> System.out.println(student)); for(Student stu : studentList){ System.out.println("查询的学生:"+stu); } //9.关闭资源 sqlSession.close(); } }
package edu.tjdz; import edu.tjdz.domain.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.Test; import java.io.IOException; import java.io.InputStream; public class TestMybatis { //测试方法,测试功能 @Test public void testInsert() throws IOException { //访问mybatis读取student数据 //1.定义mybatis主配置文件的名称 String config = "mybatis.xml"; //2.读取config表示的文件 InputStream in = Resources.getResourceAsStream(config); //3.创建SqlSessionFactoryBuilder对象 SqlSessionFactoryBuilder builder = new SqlSessionFactoryBuilder(); //4.创建SqlSessionFactory对象 SqlSessionFactory factory = builder.build(in); //5.[重要]获取SqlSession对象,从SqlSessionFactory中获取SqlSession //SqlSession sqlSession = factory.openSession(); SqlSession sqlSession = factory.openSession(true); //6.[重要]指定要执行的sql语句的标识。sql映射文件中的namespace+"."+标签的id值 String sqlId = "edu.tjdz.dao.StudentDao.insertStudent"; //7.执行sql语句,通过sqlId找到语句 Student student = new Student(); student.setId(1005); student.setName("关羽"); student.setEmail("gy@163.com"); student.setAge(50); int nums = sqlSession.insert(sqlId,student); //mybatis默认不是自动提交事务的,所以在insert,update,delete后要手动提交事务 //sqlSession.commit(); //8.输出结果 System.out.println("执行insert结果="+nums); //9.关闭资源 sqlSession.close(); } }
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)