springboot-day02-整合mybatis与简单使用

前言:该文章是紧接上一篇文章springboot-day01-引入如何读取配置文件以及helloWorld

1.springboot整合mybatis

1.添加jar包依赖

 1 <?xml version="1.0" encoding="UTF-8"?>
 2 <project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
 3     xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
 4     <modelVersion>4.0.0</modelVersion>
 5 
 6     <groupId>com.example</groupId>
 7     <artifactId>demo</artifactId>
 8     <version>0.0.1-SNAPSHOT</version>
 9     <packaging>jar</packaging>
10 
11     <name>demo</name>
12     <description>Demo project for Spring Boot</description>
13     <!--设置spring boot的parent-->
14     <parent>
15         <groupId>org.springframework.boot</groupId>
16         <artifactId>spring-boot-starter-parent</artifactId>
17         <version>1.5.9.RELEASE</version>
18         <relativePath/> <!-- lookup parent from repository -->
19     </parent>
20 
21     <properties>
22         <project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
23         <project.reporting.outputEncoding>UTF-8</project.reporting.outputEncoding>
24         <java.version>1.7</java.version>
25     </properties>
26 
27     <dependencies>
28         <!--添加依赖 可以访问html页面-->
29         <dependency>
30             <groupId>org.springframework.boot</groupId>
31             <artifactId>spring-boot-starter-thymeleaf</artifactId>
32         </dependency>
33     <!--    spring boot的web支持-->
34         <dependency>
35             <groupId>org.springframework.boot</groupId>
36             <artifactId>spring-boot-starter-web</artifactId>
37         </dependency>
38         <!--mybatis-spring桥梁-->
39         <dependency>
40             <groupId>org.mybatis.spring.boot</groupId>
41             <artifactId>mybatis-spring-boot-starter</artifactId>
42             <version>1.1.1</version>
43         </dependency>
44         <!--mysql驱动包-->
45         <dependency>
46             <groupId>mysql</groupId>
47             <artifactId>mysql-connector-java</artifactId>
48             <scope>runtime</scope>
49         </dependency>
50         <!--aop-->
51         <dependency>
52             <groupId>org.springframework.boot</groupId>
53             <artifactId>spring-boot-starter-aop</artifactId>
54         </dependency>
55         <!--jdbc-->
56         <dependency>
57             <groupId>org.springframework.boot</groupId>
58             <artifactId>spring-boot-starter-jdbc</artifactId>
59         </dependency>
60         <dependency>
61             <groupId>org.springframework.boot</groupId>
62             <artifactId>spring-boot-starter-test</artifactId>
63             <scope>test</scope>
64         </dependency>
65     </dependencies>
66 
67     <build>
68         <plugins>
69             <plugin>
70                 <groupId>org.springframework.boot</groupId>
71                 <artifactId>spring-boot-maven-plugin</artifactId>
72             </plugin>
73         </plugins>
74     </build>
75 
76 
77 </project>

 2.在application.properties添加数据库连接信息

 代码

1 ##########################数据库连接信息###################################
2 spring.datasource.url=jdbc:mysql://localhost:3306/station
3 spring.datasource.username=root
4 spring.datasource.password=admin
5 spring.datasource.driverClassName=com.mysql.jdbc.Driver
6 spring.jpa.database = mysql

 

 3.创建标准web目录结构

                              

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

4.创建数据库表User

     .

5.创建User实体 USer.java

 1 package com.example.demo.model;
 2 
 3 /**
 4  * Created by Administrator on 2017/12/20.
 5  */
 6 public class User {
 7     private Integer id;
 8     private String userName;
 9     private String password;
10     private String qq;
11     private String wx;
12 
13     public Integer getId() {
14         return id;
15     }
16 
17     public void setId(Integer id) {
18         this.id = id;
19     }
20 
21     public String getUserName() {
22         return userName;
23     }
24 
25     public void setUserName(String userName) {
26         this.userName = userName;
27     }
28 
29     public String getPassword() {
30         return password;
31     }
32 
33     public void setPassword(String password) {
34         this.password = password;
35     }
36 
37     public String getQq() {
38         return qq;
39     }
40 
41     public void setQq(String qq) {
42         this.qq = qq;
43     }
44 
45     public String getWx() {
46         return wx;
47     }
48 
49     public void setWx(String wx) {
50         this.wx = wx;
51     }
52 }
User.java

 

6.创建dao接口

 1 package com.example.demo.dao;
 2 
 3 import com.example.demo.model.User;
 4 import org.apache.ibatis.annotations.Mapper;
 5 import org.springframework.stereotype.Repository;
 6 
 7 /**
 8  * Created by Administrator on 2017/12/20.
 9  */
10 //声明是一个Mapper,与springbootApplication中的@MapperScan二选一写上即可
11 @Mapper     
12 @Repository
13 public interface UserMapper {
14     /**
15      * 根据名称获取一个用户
16      * @param name
17      * @return
18      */
19     User getUserByName(String name);
20 }
UserMapper.java

 

 7.创建service接口

 1 package com.example.demo.service;
 2 
 3 import com.example.demo.model.User;
 4 import org.springframework.stereotype.Service;
 5 
 6 
 7 /**
 8  * Created by Administrator on 2017/12/20.
 9  */
10 @Service
11 public interface IUserService {
12     /**
13      * 根据名称获取一个用户
14      * @param name
15      * @return
16      */
17     User getUserByName(String name);
18 }
IUserService.java

 

 8.编辑service实现类

 1 package com.example.demo.service.impl;
 2 
 3 import com.example.demo.dao.UserMapper;
 4 import com.example.demo.model.User;
 5 import com.example.demo.service.IUserService;
 6 import org.springframework.beans.factory.annotation.Autowired;
 7 import org.springframework.stereotype.Service;
 8 
 9 /**
10  * Created by Administrator on 2017/12/20.
11  */
12 @Service
13 public class UserService implements IUserService {
14     @Autowired
15     private UserMapper userMapper;
16     
17     @Override
18     public User getUserByName(String name) {
19         return userMapper.getUserByName(name);
20     }
21 }
UserService.java

 

 9.编辑UserControlle控制层

 1 package com.example.demo.controller;
 2 
 3 import com.example.demo.model.User;
 4 import com.example.demo.service.IUserService;
 5 import org.springframework.beans.factory.annotation.Autowired;
 6 import org.springframework.stereotype.Controller;
 7 import org.springframework.web.bind.annotation.RequestMapping;
 8 import org.springframework.web.bind.annotation.ResponseBody;
 9 
10 /**
11  * Created by Administrator on 2017/12/20.
12  */
13 @Controller
14 @RequestMapping("/")
15 public class UserController {
16     @Autowired
17     private IUserService userService;
18 
19     /**
20      * 获取用户
21      * @return
22      */
23     @RequestMapping("/getUser")
24     @ResponseBody
25     public User getUserByName(){
26         User user= userService.getUserByName("姿势帝");
27         System.out.println("id="+user.getId()+"   userName="+user.getUserName()+"   qq="+user.getQq());
28         return user;
29     }
30 }
UserController.java

10.将sql写到xml配置文件中,添加映射

     userMapper.xml代码

1 <?xml version="1.0" encoding="UTF-8" ?>
2 <!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd" >
3 <mapper namespace="com.example.demo.dao.UserMapper" >
4 
5     <select id="getUserByName"  resultType="User">
6       SELECT id,user_name userName,`password`,qq,wx FROM `user` WHERE user_name=#{userName}
7     </select>
8 
9 </mapper>
userMapper.xml

 

 11.非常重要--在application.properties添加mybatis相关配置

1 #Mybatis xml文件扫描
2 mybatis.mapper-locations=classpath*:mapper/*.xml
3 #起别名。可省略写mybatis的xml中的resultType的全路径
4 mybatis.type-aliases-package=com.example.demo.model

 

 12.重启项目并访问

  

     

  基于springboot的ssm整合以及简单使用已完成,很简单吧! 下章我们基于这个结构完成页面上的 CRUD+高级查询+分页

 

 

下一章见!

有问题或获取源码请留言,或加 QQ:851298348 加QQ时请注明博客springboot

 

posted @ 2017-12-20 17:36  李东平|一线码农  阅读(416)  评论(0编辑  收藏  举报