一、Springboot整合mybatis
maven中添加对数据库与mybatis的依赖
1 1 <dependencies> 2 2 <dependency> 3 3 <groupId>org.springframework.boot</groupId> 4 4 <artifactId>spring-boot-starter-web</artifactId> 5 5 </dependency> 6 6 <dependency> 7 7 <groupId>org.mybatis.spring.boot</groupId> 8 8 <artifactId>mybatis-spring-boot-starter</artifactId> 9 9 </dependency> 1010 <dependency> 1111 <groupId>mysql</groupId> 1212 <artifactId>mysql-connector-java</artifactId> 1313 </dependency> 1414 <dependency> 1515 <groupId>com.alibaba</groupId> 1616 <artifactId>druid</artifactId> 1717 </dependency> 1818 </dependencies>
添加application.properties关于mybatis的配置
11 spring.datasource.driverClassName=com.mysql.jdbc.Driver 22 spring.datasource.url=jdbc:mysql://127.0.0.1:3306/dbName 33 spring.datasource.username=root 44 spring.datasource.password=root 55 spring.datasource.type=com.alibaba.druid.pool.DruidDataSource 66 mybatis.type-aliases-package=io.guangsoft.pojo
mapper的xml文件所在目录需要在springboot启动类中配置扫描
11 @SpringBootApplication 22 @MapperScan("io.guangsoft.mapper")
数据库表设计
11 create table users( 22 id int(11) not null auto_increment, 33 name varchar(25) default null, 44 age int default null, 55 primary key (id) 66 )engine=InnoDB default charset=utf8;
pojo
1 1 public class User { 2 2 private Integer id; 3 3 private String name; 4 4 private Integer age; 5 5 public Integer getId() { 6 6 return id; 7 7 } 8 8 public void setId(Integer id) { 9 9 this.id = id; 1010 } 1111 public String getName() { 1212 return name; 1313 } 1414 public void setName(String name) { 1515 this.name = name; 1616 } 1717 public Integer getAge() { 1818 return age; 1919 } 2020 public void setAge(Integer age) { 2121 this.age = age; 2222 } 2323 }
mapper
11 public interface UserMapper { 22 void insertUser(User user); 33 List<User> selectUserAll(); 44 } 5 61 <mapper namespace="io.guangsoft.mapper.UserMapper"> 72 <insert id="insertUser" parameterType="user"> 83 insert into user(name, age) values (#{name}, #{age}) 94 </insert> 105 <select id="selectUserAll" resultType="user"> 116 select id, name, age from user 127 </select> 138 </mapper>
service
1 1 @Service 2 2 @Transactional 3 3 public class UserServiceImpl implements UserService { 4 4 @Autowired 5 5 private UserMapper userMapper; 6 6 @Override 7 7 public void addUser(User user) { 8 8 this.userMapper.insertUser(user); 9 9 } 1010 }
controller
1 1 @Controller 2 2 @RequestMapping("/user") 3 3 public class UserController { 4 4 @Autowired 5 5 private UserService userService; 6 6 @RequestMapping("/{page}") 7 7 public String showPage(String page) { 8 8 return page; 9 9 } 1010 @RequestMapping("/addUser") 1111 public String addUser(User user) { 1212 this.userService.addUser(user); 1313 return "ok"; 1414 } 1515 }