上一篇《人生中第一个springboot入门程序》,其实是有点错误的,原以为qq截图可以在这上面保留,可惜最后还是不见了,所以,今天的博文我采用的贴代码,当然,我也会把我的逻辑思维写出来。。
1.整合springboot+mybatis的准备工作
1.我个人的maven没有配置好自动下载jar包,所以我采用的是插件的形式。首先新建一个springboot项目,在这个时候,你要勾选web,mybatis,mysql(我用的是mysql),如果是第一次生成项目的话,你可能需要等待一会,因为它会给你下载需要的jar包,当然,如果你本地有maven仓库,那么下一次你可通过创建maven项目来搭建springboot框架。
2.准备好数据库里面的相关资源,包括数据库名称,表,表里面的字段,同时,你要知道你的数据库用户名和密码
3.准备好自己的思维逻辑。。。
2.项目中的相关配置
1,项目创建成功后,先看一下pom.xml里面的相关jar包是否导入。
2. 在resources目录下找到application.properties配置文件,在当中要配置mybatis和数据库的相关配置信息。
mybatis.mapper-locations=classpath:mapper/*Mapper.xml
mybatis.type-aliases-package=com.example.demo.entity
spring.datasource.url=jdbc:mysql://localhost:3306/user
spring.datasource.driver-class-name=com.mysql.jdbc.Driver
spring.datasource.username=root
spring.datasource.password=123456第一行:在resources目录下新建一个mapper文件夹,在里面保存后缀为Mapper.xml的配置文件
第二行:给我实体包下面的类设置别名,在mapper,xml文件中会用到,不然会报错找不到相关路径信息
第三行--第六行:数据库链接,driver,用户名,密码(这不用多说了,没密码的不用敲第六行也可以)
3.创建相关的包或者是目录结构(此处我想说的是,springboot的核心配置main方法在哪个包下面,其他的包必须在它的子包下面,这点要记住。。。)
比如我自己,核心springboot的main方法在com.lxt.demo包下面,我其他的包依次如下:
com.lxt.demo.entity 实体包
com.lxt.demo.mapper dao层
com.lxt.demo.service service层
com.lxt.demo.service.impl service层的实现类
com.lxt.demo.controller controller层
大家可以看到,我这都是基于核心springboot的main方法所在包来进行的,不然会报错。。(此刻怀恋我的qq截图),下面我就我的逻辑说一下,然后把相关的代码贴上来、、
首先说我的逻辑,其实和springMVC一样,整体采用的是注解的操作,我喜欢从底层往上面去实现。
1,首先根据你的数据库写出对应的实体类,这里是单表,多表是类似的。
package com.example.demo.entity;
public class User {
private int id;
private String username;
private String password;
private String sex;
private String address;
public int getId() {
return id;
}
public void setId(int id) {
this.id = id;
}
public String getUsername() {
return username;
}
public void setUsername(String username) {
this.username = username;
}
public String getPassword() {
return password;
}
public void setPassword(String password) {
this.password = password;
}
public String getSex() {
return sex;
}
public void setSex(String sex) {
this.sex = sex;
}
public String getAddress() {
return address;
}
public void setAddress(String address) {
this.address = address;
}
}
2,然后根据需求写出相应的dao接口,我这里只是实现一个查询所有的方法,注意在类上声明一个@mapper注解,为了响应springboot的所作的一些配置。
package com.example.demo.mapper;
import java.util.List;
import org.apache.ibatis.annotations.Mapper;
import com.example.demo.entity.User;
@Mapper
public interface UserMapper {
public List<User> findAll();
}
3.根据你接口处的方法名去对应你的mapper.xml配置文件,在当中编写你的sql语句,此处可以当做你dao层的实现类
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE mapper
PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
"http://mybatis.org/dtd/mybatis-3-mapper.dtd">
<mapper namespace="com.example.demo.mapper.UserMapper">
<select id="findAll" resultType="User">
select * from users
</select>
</mapper>4,然后进行到service层,在这里你只需要声明一个接口方法,你可以和dao里面的方法相同,其他交给你的实现类去实现
package com.example.demo.service;
import java.util.List;
import com.example.demo.entity.User;
public interface UserService {
public List<User> findAll();
}
5,接下来就是实现类,在类上要声明@service注解,并在里面拿到dao并装配,在具体的方法中调用dao即可。
package com.example.demo.service.impl;
import java.util.List;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;
import com.example.demo.entity.User;
import com.example.demo.mapper.UserMapper;
import com.example.demo.service.UserService;
@Service
public class UserServiceImpl implements UserService {
@Autowired
private UserMapper userMapper;
public List<User> findAll() {
return userMapper.findAll();
}
}
6,最后就是控制器了,因为是springboot,所以要声明@restcontroller注解,其他的就和springMVC一样了,因为这里是浅显的整合,所以没采用页面,就直接在浏览器上面进行显示即可。。
package com.example.demo.action;
import java.util.List;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RestController;
import com.example.demo.entity.User;
import com.example.demo.service.UserService;
@RestController
public class UserController {
@Autowired
private UserService userService;
@RequestMapping("/admin")
public List<User> findAll(){
List<User> list = userService.findAll();
return list;
}
}
本文介绍如何使用Spring Boot框架结合MyBatis实现数据库操作,包括项目搭建、配置及各层实现步骤。
711

被折叠的 条评论
为什么被折叠?



