spring boot+Mybatis
1.创建项目

Spring boot就搭建好了,pom.xml里已经有了Spring boot的jar包,包括我们的mysql数据连接的jar包
2.测试该spring boot是否可行
src/main/java下新建目录com/lhw/vo/User
package com.lhw.vo; /** * Created by lin.hongwen@ztesoft.com * * @date 2018年05月06日 */ public class User { private String id; private String name; private String sex; private String age; private String address; private String phone; public User() { } public User(String id, String name, String sex, String age, String address, String phone) { this.id = id; this.name = name; this.sex = sex; this.age = age; this.address = address; this.phone = phone; } public String getId() { return id; } public void setId(String id) { this.id = id; } public String getName() { return name; } public void setName(String name) { this.name = name; } public String getSex() { return sex; } public void setSex(String sex) { this.sex = sex; } public String getAge() { return age; } public void setAge(String age) { this.age = age; } public String getAddress() { return address; } public void setAddress(String address) { this.address = address; } public String getPhone() { return phone; } public void setPhone(String phone) { this.phone = phone; } }
src/main/java下新建com/demo/controller/TestBootController。
package com.lhw.controller; import com.lhw.vo.User; import org.springframework.boot.autoconfigure.EnableAutoConfiguration; import org.springframework.web.bind.annotation.RequestMapping; import org.springframework.web.bind.annotation.RestController; /** * Created by lin.hongwen@ztesoft.com * * @date 2018年05月06日 */ @RestController @EnableAutoConfiguration @RequestMapping("/testBoot") public class TestBootController { @RequestMapping("getuser") public User getUser(){ User user = new User(); user.setName("test"); return user; } }
src/main/resources下新建application.yml:
#默认使用配置 spring: profiles: active: dev #公共配置与profiles选择无关 mybatis: mapperLocations: classpath:mapper/*.xml --- #mysql数据库配置 spring: profiles: dev datasource: url: jdbc:mysql://localhost:3306/lhwtest?useUnicode=true&characterEncoding=UTF-8 username: root password: root driver-class-name: com.mysql.jdbc.Driver
启动DemoApplication的main方法,访问http://localhost:8080/testBoot/getuser即可。

以上代表spring boot的测试完成
3.接下来进行和mybatis的整合
1、集成druid,使用连接池。往pom.xml中添加:
<dependency>
<groupId>com.alibaba</groupId>
<artifactId>druid</artifactId>
<version>1.1.0</version>
</dependency>
完整pom:
<?xml version="1.0" encoding="UTF-8"?> <project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd"> <modelVersion>4.0.0</modelVersion> <groupId>com.lhw</groupId> <artifactId>springbmybaties2</artifactId> <version>0.0.1-SNAPSHOT</version> <packaging>jar</packaging> <name>springbmybaties2</name> <description>Demo project for Spring Boot</description> <parent> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter-parent</artifactId> <version>2.0.1.RELEASE</version> <relativePath/> <!-- lookup parent from repository --> </parent> <properties> <project.build.sourceEncoding>UTF-8</project.build.sourceEncoding> <project.reporting.outputEncoding>UTF-8</project.reporting.outputEncoding> <java.version>1.8</java.version> </properties> <dependencies> <dependency> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter-data-jpa</artifactId> </dependency> <dependency> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter-web</artifactId> </dependency> <dependency> <groupId>org.mybatis.spring.boot</groupId> <artifactId>mybatis-spring-boot-starter</artifactId> <version>1.3.2</version> </dependency> <dependency> <groupId>mysql</groupId> <artifactId>mysql-connector-java</artifactId> <scope>runtime</scope> </dependency> <dependency> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter-test</artifactId> <scope>test</scope> </dependency> <dependency> <groupId>com.alibaba</groupId> <artifactId>druid</artifactId> <version>1.1.0</version> </dependency> </dependencies> <build> <plugins> <plugin> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-maven-plugin</artifactId> </plugin> </plugins> </build> </project>
修改application.yml为:
#默认使用配置 spring: profiles: active: dev #公共配置与profiles选择无关 mybatis: mapperLocations: classpath:mapper/*.xml #这里是配置mybatis的配置文件。这个mapper这个目录在resource下 --- #mysql数据库配置 spring: profiles: dev datasource: url: jdbc:mysql://localhost:3306/lhwtest?useUnicode=true&characterEncoding=UTF-8 username: root password: root driver-class-name: com.mysql.jdbc.Driver type: com.alibaba.druid.pool.DruidDataSource
创建dao类
package com.lhw.dao; import com.lhw.vo.User; /** * Created by lin.hongwen@ztesoft.com * * @date 2018年05月06日 */ public interface UserDao { /** * 查询user * @param id * @return */ User selectByPrimaryKey(String id); }
在resouces的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="com.lhw.dao.UserDao" > <resultMap id="BaseResultMap" type="com.lhw.vo.User" > <constructor > <idArg column="id" jdbcType="VARCHAR" javaType="java.lang.String" /> <arg column="name" jdbcType="VARCHAR" javaType="java.lang.String" /> <arg column="sex" jdbcType="VARCHAR" javaType="java.lang.String" /> <arg column="age" jdbcType="VARCHAR" javaType="java.lang.String" /> <arg column="address" jdbcType="VARCHAR" javaType="java.lang.String" /> <arg column="phone" jdbcType="VARCHAR" javaType="java.lang.String" /> </constructor> </resultMap> <select id="selectByPrimaryKey" resultMap="BaseResultMap" parameterType="java.lang.String" > select id, name, sex, age, address, phone from user where id = #{id,jdbcType=VARCHAR} </select> </mapper>
添加controller
package com.lhw.controller; import com.lhw.service.UserService; import com.lhw.vo.User; import org.springframework.boot.autoconfigure.EnableAutoConfiguration; import org.springframework.stereotype.Controller; import org.springframework.ui.Model; import org.springframework.web.bind.annotation.RequestMapping; import org.springframework.web.bind.annotation.RestController; import javax.annotation.Resource; import javax.servlet.http.HttpServletRequest; /** * Created by lin.hongwen@ztesoft.com * * @date 2018年05月06日 */ @RestController @EnableAutoConfiguration @RequestMapping("/user") public class UserController { @Resource private UserService userService; @RequestMapping("/showUser") public User toIndex(HttpServletRequest request, Model model){ String userId = request.getParameter("id"); User user = this.userService.getUserById(userId); return user; } }
添加service
package com.lhw.service; import com.lhw.vo.User; /** * Created by lin.hongwen@ztesoft.com * * @date 2018年05月06日 */ public interface UserService { User getUserById(String userId); }
添加service实现类
package com.lhw.service; import com.lhw.dao.UserDao; import com.lhw.vo.User; import org.springframework.stereotype.Service; import javax.annotation.Resource; /** * Created by lin.hongwen@ztesoft.com * * @date 2018年05月06日 */ @Service("userService") public class UserServiceImpl implements UserService{ @Resource private UserDao userDao; @Override public User getUserById(String userId) { return userDao.selectByPrimaryKey(userId); } }
最后修改启动文件,让其扫描dao层接口。
package com.lhw; import org.mybatis.spring.annotation.MapperScan; import org.springframework.boot.SpringApplication; import org.springframework.boot.autoconfigure.SpringBootApplication; import org.springframework.boot.web.servlet.support.SpringBootServletInitializer; @SpringBootApplication @MapperScan("com.lhw.dao") public class Springbmybaties2Application extends SpringBootServletInitializer{ public static void main(String[] args) { SpringApplication.run(Springbmybaties2Application.class, args); } }
浏览器访问http://localhost:8080/user/showUser?id=1

至此spring boot+mybatis框架搭建完成
**这里的数据库和创建表,是使用springMVC+mybatis的

浙公网安备 33010602011771号