MyBatis框架零基础快速入门案例详解

MyBatis下载地址:https://github.com/mybatis/mybatis-3/releases

一、创建数据库和表

数据库名ssm,数据表student

mysql> create database ssm;
Query OK, 1 row affected (0.01 sec)
mysql> use ssm
Database changed
mysql> CREATE TABLE `student` (
    ->  `id` int(11) NOT NULL ,
    ->  `name` varchar(255) DEFAULT NULL,
    ->  `email` varchar(255) DEFAULT NULL,
    ->  `age` int(11) DEFAULT NULL,
    ->  PRIMARY KEY (`id`)
    -> ) ENGINE=InnoDB DEFAULT CHARSET=utf8;
Query OK, 0 rows affected, 3 warnings (0.03 sec)

MyBatis框架零基础快速入门案例详解_第1张图片

二、创建maven工程

1、pom.xml加入maven坐标


 
junit
 junit
 4.11
 test

 
 org.mybatis
 mybatis
 3.5.1

 
 mysql
 mysql-connector-java
 5.1.9
 
 

2、加入maven插件



 
 src/main/java
 
 **/*.properties
 **/*.xml
 
 false
 

 
 
 maven-compiler-plugin
 3.1
 
 1.8
 1.8
 
 
 

三、代码编写

1、编写Student实体类

创建包 com.Example.domain, 包中创建 Student 类

package com.bjpowernode.domain;
/** 
 * 

Description: 实体类

*

Company: http://www.bjpowernode.com */ public class Student { //属性名和列名一样 private Integer id; private String name; private String email; private Integer age; // set ,get , toString }

2、编写DAO接口StudentDao

创建 com.Example.dao 包,创建 StudentDao 接口

package com.bjpowernode.dao;
import com.bjpowernode.domain.Student;
import java.util.List;
/* 
 * 

Description: Dao 接口

*

Company: http://www.bjpowernode.com */ public interface StudentDao { /*查询所有数据*/ List selectStudents(); }

3、编写DAO接口Mapper映射文件StudentDao.xml。

  • 在 dao 包中创建文件 StudentDao.xml
  • 要 StudentDao.xml 文件名称和接口 StudentDao 一样,区分大小写的一 样。

 
 

  
 

4、创建MyBatis主配置文件

项目 src/main 下创建 resources 目录,设置 resources 目录为 resources root

创建主配置文件:名称为 mybatis.xml


 

  
 
  
 
  
 
  
 
  
 
 
 
 
 
 
 
 
  
 
 

支持中文的url

jdbc:mysql://localhost:3306/ssm?useUnicode=true&characterEncoding=utf-8 

四、创建测试类进行测试

1、创建测试类MyBatisTest

src/test/java/com/Example/ 创建 MyBatisTest.java 文件

/* 
* mybatis 入门 
*/ 
@Test
public void testStart() throws IOException {
 //1.mybatis 主配置文件 
 String config = "mybatis-config.xml";
 //2.读取配置文件 
 InputStream in = Resources.getResourceAsStream(config);
 //3.创建 SqlSessionFactory 对象,目的是获取 SqlSession 
 SqlSessionFactory factory = new SqlSessionFactoryBuilder().build(in);
 //4.获取 SqlSession,SqlSession 能执行 sql 语句 
 SqlSession session = factory.openSession();
 //5.执行 SqlSession 的 selectList() 
 List studentList = 
session.selectList("com.bjpowernode.dao.StudentDao.selectStudents");
 //6.循环输出查询结果 
 studentList.forEach( student -> System.out.println(student));
 //7.关闭 SqlSession,释放资源 
 session.close();
}

List studentList = 
session.selectList("com.bjpowernode.dao.StudentDao.selectStudents");
近似等价的 jdbc 代码
Connection conn = 获取连接对象
String sql=” select id,name,email,age from student”
PreparedStatement ps = conn.prepareStatement(sql);
ResultSet rs = ps.executeQuery();

2、配置日志功能

mybatis.xml 文件加入日志配置,可以在控制台输出执行的 sql 语句和参数


 

五、增删改操作

insert操作

(1)StudentDAO接口中的方法

int insertStudent(Student student);

(2)StudentDAO.xml加入sql语句


 insert into student(id,name,email,age) 
values(#{id},#{name},#{email},#{age})

(3)增加测试方法

@Test
public void testInsert() throws IOException {
 //1.mybatis 主配置文件 
 String config = "mybatis-config.xml";
 //2.读取配置文件 
 InputStream in = Resources.getResourceAsStream(config);
 //3.创建 SqlSessionFactory 对象 
 SqlSessionFactory factory = new SqlSessionFactoryBuilder().build(in);
 //4.获取 SqlSession 
 SqlSession session = factory.openSession();
 //5.创建保存数据的对象 
 Student student = new Student();
 student.setId(1005);
 student.setName("张丽");
 student.setEmail("[email protected]");
 student.setAge(20);
 //6.执行插入 insert 
 int rows = session.insert(
"com.bjpowernode.dao.StudentDao.insertStudent",student);
 //7.提交事务 
 session.commit();
 System.out.println("增加记录的行数:"+rows);
 //8.关闭 SqlSession 
 session.close();
}

到此这篇关于MyBatis框架零基础快速入门案例详解的文章就介绍到这了,更多相关MyBatis 案例内容请搜索脚本之家以前的文章或继续浏览下面的相关文章希望大家以后多多支持脚本之家!

你可能感兴趣的:(MyBatis框架零基础快速入门案例详解)