springboot通过注解配置mapper
整合mybatis
1. 新建一个jar包的maven项目,然后添加依赖
xml中添加依赖如下:
<!--添加父依赖-->
<parent>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-parent</artifactId>
<version>2.1.6.RELEASE</version>
</parent>
<dependencies>
<!--添加web启动器的核心组件依赖-->
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-web</artifactId>
</dependency>
<!--添加mybatis依赖-->
<dependency>
<groupId>org.mybatis.spring.boot</groupId>
<artifactId>mybatis-spring-boot-starter</artifactId>
<version>2.0.1</version>
</dependency>
<dependency>
<groupId>junit</groupId>
<artifactId>junit</artifactId>
<version>4.11</version>
<scope>test</scope>
</dependency>
<!--mysql的依赖-->
<dependency>
<groupId>mysql</groupId>
<artifactId>mysql-connector-java</artifactId>
<version>5.1.46</version>
</dependency>
<!--jdbc,添加这个依赖是为了写配置文件的时候有提示-->
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-jdbc</artifactId>
</dependency>
</dependencies>
2. 新建一个application.properties(命名只能是这个,其他的读不出来)
配置文件,然后添加数据库的配置信息,如下:
spring.datasource.url=jdbc:mysql://localhost:3306/springboot
spring.datasource.username=root
spring.datasource.password=root
spring.datasource.driver-class-name=com.mysql.jdbc.Driver
3. 新建一个mapper包,这个包就相当于dao层,然后添加dao相关类如下:
public interface UserMapper {
//这里用注解,但是我们不建议用注解来做
@Insert("insert into user(username, password) values(#{username},#{password})")
public abstract int addUser(@Param("username") String username, @Param("password") String password);
}
4. 新建一个service包,然后添加相关类如下:
@Service
public class UserService {
@Autowired
private UserMapper userMapper;
public void register(String username, String password) {
userMapper.addUser(username, password);
}
}
5. 新建一个controller包,然后添加相关类如下:
@Controller
@RequestMapping("user")
public class UserController {
@Autowired
private UserService userService;
@RequestMapping("register")
@ResponseBody
public String register(String username, String password) {
userService.register(username, password);
return "success";
}
}
6. 配置启动类APP.java,如下所示:
@EnableAutoConfiguration
@MapperScan(basePackages = {"springboot_mybatis.mapper"})
@ComponentScan(basePackages = {"springboot_mybatis.service","springboot_mybatis.mapper","springboot_mybatis.web.controller"})
public class App
{
public static void main( String[] args )
{
SpringApplication.run(App.class, args);
}
}
7. 启动服务器后,在浏览器输入: http://localhost:8080/user/register?username=root2&password=root2
之后就可以发现在数据库中多了一条记录同时页面显示success字样
springboot通过xml配置mapper
整合mybatis
相对于上面来说,只改了mapper包和xml的内容
1. 修改UserMapper的内容如下:
public interface UserMapper {
public abstract int addUser(@Param("username") String username, @Param("password") String password);
}
2. 在mapper包下添加UserMapper.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" >
<mapper namespace="springboot_mybatis.mapper.UserMapper">
<insert id="addUser">
insert into user(username, password) values(#{username}, #{password});
</insert>
</mapper>
3. 在pom.xml的build标签中添加的内容如下:
<!--查找mapper的配置文件UserMapper.xml-->
<resources>
<resource>
<directory>src/main/java</directory>
<includes>
<include>**/*.xml</include>
</includes>
</resource>
</resources>
4. 启动服务器后,在浏览器输入: http://localhost:8080/user/register?username=root2&password=root2
之后就可以发现在数据库中多了一条记录同时页面显示success字样