SpringBoot+MyBatis
先来一张结构图
操作环境:IntelliJ IDEA 2020.3,MySQL
一、引入依赖
MAVEN仓库地址:https://mvnrepository.com/
去上面这个地址查找我们所需要的jar包
我们这里用到了mysql、mybatis
二、配置application.properties和Mybatis-config.xml
application.properties
server.port=8888//设置端口号
<!-- 配置数据库 -->
spring.datasource.type=com.alibaba.druid.pool.DruidDataSource
spring.datasource.driver-class-name=com.mysql.jdbc.Driver
// com.mysql.jdbc.Driver和mysql-connector-java 5一起用。
// com.mysql.cj.jdbc.Driver和mysql-connector-java 6 一起用。
spring.datasource.url=jdbc:mysql://localhost:3306/student
spring.datasource.username=root
spring.datasource.password=123456
mybatis.config-location=classpath:/mybatis-config.xml
Mybatis-config.xml
<configuration>
<!-- 配置包的别名 -->
<typeAliases>
<package name="com.example.demo8.bean"/>
</typeAliases>
<!-- 引用映射文件 -->
<mappers>
<mapper resource="com/example/demo8/mapper/adminMapper.xml" />
</mappers>
</configuration>
三、创建bean
public class Admin {
private int id;
private String userName;
private String userPassword;
//以下内容右键代码Generate->Getter And Setter
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 getUserPassword() {
return userPassword;
}
public void setUserPassword(String userPassword) {
this.userPassword = userPassword;
}
}
三、创建mapper
AdminMapper接口(interface)
/*
映射器接口
*/
@Mapper
public interface AdminMapper{
//根据id获取admin
Admin getAdminById(long id);
//获取全部admin
List<Admin> getAllAdmin();
}
AdminMapper.xml
<?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">
<!--映射器名字空间,即AdminMapper类的全限定名称-->
<mapper namespace= "com.example.demo8.mapper.AdminMapper">
//因为数据库中字段为user_name 与bean中userName对不上所以用resultMap 将查询出来的值转换成userName
//或在application.proerties中配置
// #开启驼峰命名转换
//mybatis.configuration.map-underscore-to-camel-case=true
<resultMap id="adminMap" type="Admin">
<id property="id" column="id" />
<result property="userName" column="user_name" />
<result property="userPassword" column="user_password" />
</resultMap>
<select id="getAllAdmin" resultMap="adminMap">
SELECT * FROM admin
</select>
</mapper>
四、创建service
AdminService
@Service
@Transactional
public class adminService {
@Autowired//实现需要加如,不然会报错
adminMapper mapper;
public List<Admin> getALLAdmin(){
List<Admin> adminList=mapper.getAllAdmin();
return adminList;
}
}
五、创建 controller
AdminControler
@RestController
@RequestMapping("/Admin")
public class adminController {
@Autowired
adminService mapper;
@ResponseBody//返回json格式
@RequestMapping("/SelectAllAdmin")
public List<Admin> getAllAdmin()
{
return mapper.getALLAdmin();
}
}
六、创建config
WebSecurityConfig
@Configuration
public class WebSecurityConfig extends WebMvcConfigurerAdapter {
// 跨域问题
@Override
public void addCorsMappings(CorsRegistry registry) {
registry.addMapping("/**")
.allowedOrigins("*")
.allowedHeaders("*")
.allowCredentials(true)
.allowedMethods("*")
.maxAge(3600);
}
}
至此,运行程序,就能通过http://localhost:8888/Admin/SelectAllAdmin 来获取数据了