目录
一、mybatis基本简介
1 数据库配置
2.IDEA创建项目
3.代码实现
三、运行效果
四、总结
五、参考
一、mybatis基本简介
MyBatis,原名 iBatis,由原来的 apache 迁移到了谷歌,更名为 MyBatis。MyBatis 指的就是 iBatis 3.x 后的版本。
MyBatis 是采用 ORM(Object Relational Mapping,对象关系映射)思想实现的持久化层框架,之前学习持久层解决方案 JDBC、JdbcTemplate、DBUtil都不是框架,JDBC 是一种规范,JdbcTemplate 和 DBUtil 都是简单封装了 JDBC 的工具类。
MyBatis 支持自定义 SQL、存储过程以及高级映射,免除了几乎所有的 JDBC 代码以及设置参数和获取结果集的工作。可以通过简单的 XML 或注解把原始类型、接口和 Java POJO(Plain Old Java Objects,普通老式 Java 对象) 映射为数据库中的记录。
使用 MyBatis 框架,让开发人员专注于 SQL 的编写,不再去关注注册驱动、获取连接、执行 SQL、释放资源等操作,极大简化了持久层开发工作。
mybatis官网
mybatis百度百科
二、如何使用mybatis连接MySQL数据库(Navicat)
1 数据库配置
选择数据库world,新建查询
create table users( id int primary key auto_increment, name varchar(40), password varchar(40), email varchar(60), birthday date )character set utf8 collate utf8_general_ci;
运行成功后插入数据
insert into users(name,password,email,birthday) values('zs','123456','zs@sina.com','1999-12-04');
insert into users(name,password,email,birthday) values('lisi','123456','lisi@sina.com','2001-12-04');
insert into users(name,password,email,birthday) values('wangwu','123456','wangwu@sina.com','2003-12-04');
这时候可以看到已经创建好表了
2.IDEA创建项目
选择依赖包
自己选择路径
创建好项目后可以在pom.xml文件中查看我们之前引入的依赖包
4.0.0 org.springframework.boot spring-boot-starter-parent2.5.6 com.example databasedemo0.0.1-SNAPSHOT databasedemo Demo project for Spring Boot 1.8 org.springframework.boot spring-boot-starter-jdbcorg.springframework.boot spring-boot-starter-weborg.mybatis.spring.boot mybatis-spring-boot-starter2.2.0 mysql mysql-connector-javaruntime org.springframework.boot spring-boot-starter-testtest org.springframework.boot spring-boot-maven-plugin
3.代码实现
项目结构如下:
UseController:
package com.example.databasedemo.controller;
import com.example.databasedemo.entity.Student;
import com.example.databasedemo.service.StudentService;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.web.bind.annotation.PathVariable;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RestController;
import java.util.List;
@RestController
@RequestMapping("/Student")
class UserController {
@Autowired
private StudentService studentService;
@RequestMapping("/getAllStudent")
public List findAll(){
return studentService.findAllStudent();
}
@RequestMapping("/getStudentByno/{no}")
public List findUserByStudentId(@PathVariable int no){
return studentService.findStudentByno(no);
}
}
Student:
package com.example.databasedemo.entity;
public class Student {
private int no;
private String name;
private int age;
public int getNo() {
return no;
}
public void setNo(int no) {
this.no = no;
}
public void setName(String name) {
this.name = name;
}
public String getName() {
return name;
}
public void setAge(int age) {
this.age = age;
}
public int getAge() {
return age;
}
@Override
public String toString() {
return "Student{" +
"no=" + no +
", name='" + name + ''' +
", age='" + age + ''' +
'}';
}
}
StudentMapper:
package com.example.databasedemo.mapper;
import com.example.databasedemo.entity.Student;
import org.apache.ibatis.annotations.Mapper;
import java.util.List;
@Mapper
public interface StudentMapper {
public List findAllStudent();
List findStudentByno(int no);
}
StudentService:
package com.example.databasedemo.service;
import com.example.databasedemo.entity.Student;
import com.example.databasedemo.mapper.StudentMapper;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;
import java.util.List;
@Service
public class StudentService {
@Autowired(required = false)
public StudentMapper studentMapper;
public List findAllStudent() {
return studentMapper.findAllStudent();
}
public List findStudentByno(int no) {
return studentMapper.findStudentByno(no);
}
}
在resources中添加mapper的xml文件,代码如下:
select * from student;
application.properties代码(注意将3306后的数据库名字改为自己的,账户密码也要改成自己的)
server.port=8080 spring.datasource.driver-class-name=com.mysql.cj.jdbc.Driver spring.datasource.url=jdbc:mysql://localhost:3306/world?useUnicode=true&characterEncoding=UTF-8&serverTimezone=UTC spring.datasource.username=root spring.datasource.password=001028 mybatis.mapper-locations=classpath:mapper/*Mapper.xml
做好代码工作之后点击编译让服务器跑起来
三、运行效果
四、总结
通过这次实验,加深了对数据库和IDEA的熟悉,对IDEA和数据库的使用也更加顺手,jdbc是引入jar包,而mybatis是通过引入依赖配置。MyBatis 可以通过简单的 XML 或注解来配置和映射原始类型、接口和 Java POJO(Plain Old Java Objects,普通老式 Java 对象)为数据库中的记录。
五、参考
参考(1)
参考(2)
参考(3)



