使用maven-jar项目讲解
pom.xml加入依赖
<dependencies> <!-- 数据库驱动 --> <dependency> <groupId>mysql</groupId> <artifactId>mysql-connector-java</artifactId> </dependency>
<dependency> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter-test</artifactId> <scope>test</scope> </dependency>
<dependency> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter-web</artifactId> </dependency>
<dependency> <groupId>junit</groupId> <artifactId>junit</artifactId> <version>4.11</version> <scope>test</scope> </dependency> <!-- 引入Mybatis的依赖包. --> <dependency> <groupId>org.mybatis.spring.boot</groupId> <artifactId>mybatis-spring-boot-starter</artifactId> <version>1.1.1</version> </dependency>
<!-- 引入freeMarker的依赖包. --> <dependency> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter-freemarker</artifactId> </dependency> </dependencies> |
配置数据源文件

spring.datasource.url=jdbc:mysql://localhost:3306/soft_test?serverTimezone=Asia/Shanghai&useUnicode=Asia/Shanghai spring.datasource.username=root spring.datasource.password=admin spring.datasource.driver-class-name=com.mysql.cj.jdbc.Driver |
1.(注解配置mybatis)创建一个mapper
建议使用注解,sql语句有两种写法,当字段名字和参数名字不一样或者前后顺序不一样时则需要使用@Param注解指定参数,以下两种均可使用 [更正]
import org.apache.ibatis.annotations.Insert; import org.apache.ibatis.annotations.Param;
public interface UserMapper {
@Insert("insert into tester(username,password) values (#{0},#{1})") int save(String username,String password);
/*@Insert("insert into tester(username,password) values (#{username},#{password})") int save(@Param("username") String username,@Param("password") String password);*/ } |
Service
@Service public class UserServiceImpl implements UserService {
@Autowired private UserMapper userMapper;
@Override public void register(String username, String password) { userMapper.save(username,password); }
} |
Controller
@Controller //如果要访问freemarker模板就不需要写@RestController @RequestMapping("user") //设置访问路径 public class UserController {
@Autowired UserServiceImpl service;
@RequestMapping("register") @ResponseBody public String register(){ service.register("gll","456"); return "success"; } } |
App
新增两个注解,@MapperScan用于扫描Mapper类,@EnableAutoConfiguration用于自动配置类

2.使用xml配置mybatis
Xml编写
位置可以放在mapper接口位置

<?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="stu.gll.mapper.UserMapper" >
<insert id="save">
insert into user (username,password) VALUES(#{0},#{1})
</insert>
<select id="findByUsername" resultType="stu.gll.model.User" parameterType="string">
select * from t_user where username = #{username,jdbcType=VARCHAR}
</select>
</mapper>
使用xml时,我们mapper接口就不需要使用注解
public interface UserMapper {
//@Insert("insert into tester(username,password) values (#{0},#{1})") int save(String username,String password);
User findByUsername(String username);
/*@Insert("insert into tester(username,password) values (#{username},#{password})") int save(@Param("username") String username,@Param("password") String password);*/ } |
Service添加方法

Controller

Pom.xml导入新配置
注意这里需要在pom.xml中添加下面代码 <build> <resources> <resource> <directory>src/main/java</directory> <includes> <include>**/*.xml</include> </includes> </resource> </resources> </build> |
没有加入上面配置会出错[org.apache.ibatis.binding.BindingException: Invalid bound statement (not found): stu.gll.mapper.UserMapper.findByUsername],前面我们设置异常处理类,把那个类的方法注释了才能看到该错误
访问
