文章目录
- 一、ORM
- 二、mybatis实际操作
- 三、mybatis-plus
一、ORM
简单来说ORM就是一个能够帮我们把java中Bean类映射到数据库中。
使用mybatis-plus。
- 配置架包
<!-- MyBatisPlus依赖 --><dependency><groupId>com.baomidou</groupId><artifactId>mybatis-plus-boot-starter</artifactId><version>3.4.2</version></dependency>
<!-- mysql依赖--><dependency><groupId>mysql</groupId><artifactId>mysql-connector-java</artifactId><version>5.1.47</version></dependency><!-- 数据连接池增加数据查询效率--><dependency><groupId>com.alibaba</groupId><artifactId>druid-spring-boot-starter</artifactId><version>1.2.20</version></dependency>
下载以后需要配置application.properties
spring.datasource.type=com.alibaba.druid.pool.DruidDataSource
spring.datasource.driver-class-name=com.mysql.jdbc.Driver
spring.datasource.url= jdbc:mysql://localhost:3306/"你的数据库名"?useSSL=false&characterEncoding=utf8
spring.datasource.username="你的账号"
spring.datasource.password="你的密码"
mybatis-plus.configuration.log-impl=org.apache.ibatis.logging.stdout.StdOutImpl
在启动函数增加注解@MapperScan("Mapper的路径")
相关注解
二、mybatis实际操作
- 首先创建好对应的数据库
create database hello;CREATE TABLE User ( id INT PRIMARY KEY, username VARCHAR(255) NOT NULL, password VARCHAR(255) NOT NULL, birthday VARCHAR(10) -- 假设日期格式为 YYYY-MM-DD,长度为10
);INSERT INTO User (id, username, password, birthday) VALUES
(1, 'Alice', 'password123', '1990-01-01'),
(2, 'Bob', 'pass456word', '1992-05-10');
-
在mapper下创建一个基于Bean为主的mapper
接口!
UserMapper
-
在UserMapper里面声明方法。记得加
@Mapper
@Mapper
public interface UserMapper {//查询所有用户@Select("select * from user")public List<User> find();
}
- 在controller写查询接口,其中要使用刚才在UserMapper写好的接口。
//使用Autowired注解注入接口@Autowiredprivate UserMapper userMapper;//使用与数据库字段对应的Bean接受数据User。@GetMapping("/user")public List query(){List<User> list = userMapper.find();System.out.println(list);return list;}
- User的代码
private int id;private String username;private String password;private String birthday;//get //set//使用鼠标右键generate生成
调用我们的写好的query()接口,就能在控制台看到我们的查询结果了。
一些方法的参考
controller文件如下
@RestController
public class UserController {@Autowiredprivate UserMapper userMapper;@GetMapping("/user")public List query(){List<User> list = userMapper.find();System.out.println(list);return list;}@PostMapping("/user/insert")public String insert(User user){int i = userMapper.insert(user);if (i > 0){return "successful";}else{return "failed";}}@DeleteMapping("/user/delete/{id}")public String delete(@PathVariable int id){int j = userMapper.delete(id);if (j > 0){return "delete successfully";}else{return "delete fail";}}//这个还有点问题,还要改@PutMapping("/user/update/{id}")public String update(@PathVariable int id,@PathVariable User user){System.out.println(id);int k = userMapper.update(user);if (k > 0){return "update successfully";}else{return "update fail";}}
}
三、mybatis-plus
Mapper文件如下
@Mapper
public interface UserMapper2 extends BaseMapper<User> {}
Controller文件如下
@RestController
public class UserController2 {@Autowiredprivate UserMapper2 userMapper2;@GetMapping("/user2")public List query(){List<User> list= userMapper2.selectList(null);System.out.println(list);return list;}@PostMapping("user2/insert")public String insert(User user){int i = userMapper2.insert(user);if (i > 0){return "successful";}else{return "failed";}}
}
- 如果Bean名和表明不一致,可以通过增加注解设定对应的表
@TableName
- 指定列自增
- 将Bean类中的属性映射到表列,如果不一致。