您的位置:首页 > 编程语言 > Java开发

springboot和mybatis整合

2017-02-08 16:34 281 查看
一. 创建一个基本的maven项目.

二. 添加pom依赖

<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.yxz</groupId>
<artifactId>java-web-development</artifactId>
<version>0.0.1-SNAPSHOT</version>
<name>java Web</name>
<parent>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-parent</artifactId>
<version>1.3.3.RELEASE</version>
</parent>
<dependencies>
<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>1.0.0</version>
</dependency>
<!-- mysql连接驱动 -->
<dependency>
<groupId>mysql</groupId>
<artifactId>mysql-connector-java</artifactId>
</dependency>
<!-- 连接池 -->
<dependency>
<groupId>com.alibaba</groupId>
<artifactId>druid</artifactId>
<version>1.0.4</version>
</dependency>
<!-- fastjson -->
<dependency>
<groupId>com.alibaba</groupId>
<artifactId>fastjson</artifactId>
<version>1.2.10</version>
</dependency>
</dependencies>

<build>
<plugins>
<plugin>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-maven-plugin</artifactId>
</plugin>
</plugins>
</build>
</project>


三. 增加数据库连接基本配置文件application.properties

spring.datasource.url=jdbc:mysql://127.0.0.1:3306/yxz_test
spring.datasource.username=root
spring.datasource.password=root
spring.datasource.driver-class-name=com.mysql.jdbc.Driver
server.port=8888
server.context-path=/home
mybatis.config=classpath:mybatis-config.xml


四. 增加SpringBoot启动文件.

@SpringBootApplication
@Controller
public class Application {
public static void main(String[] args) {
SpringApplication.run(Application.class, args);
}

}


五. 创建mapper类(dao类)

public interface UserinfoMapper{
@Select("SELECT * FROM USERINFO WHERE ID=#{ID}")
UserInfo getById(@Param("ID") String ID);

@Insert("INSERT INTO USERINFO(id,userName,birthday) VALUES(#{id},#{userName},#{birthday})")
void saveUser(UserInfo userInfo);

@Update("UPDATE USERINFO SET USERNAME=#{newName} WHERE ID=#{ID}")
void updateUser(@Param("ID") String ID, @Param("newName") String newName);

@Delete("DELETE FROM USERINFO WHERE ID=#{ID}")
void deleteUser(@Param("ID") String ID);
}


六. 创建service类调用mapper类进行操作

@Transactional
@Service("userService")
public class UserServiceImpl implements IUserService{
@Autowired
private UserinfoMapper userinfoMapper;

public void saveUser(UserInfo userInfo) {
userinfoMapper.saveUser(userInfo);;
}
}


七. 创建接口类调用service方法,使用http地址请求

@RestController
@RequestMapping("/yxz/")
public class SaveUser{

@Autowired
private IUserService userService;

@RequestMapping(value="saveUser",method=RequestMethod.POST)
public void saveUser(@RequestBody String requst){
String decode=null;
try {
decode=URLDecoder.decode(requst, "UTF-8");
} catch (UnsupportedEncodingException e) {
e.printStackTrace();
System.err.println("解码出错");
}
UserInfo userInfo=JSON.parseObject(decode, UserInfo.class);
userService.saveUser(userInfo);
}
}


八. 创建test类进行测试是否连接成功

public class Test {
public static void main(String[] args) {
saveUser();
}

public static void saveUser(){
Map<String, Object> map = new HashMap<String, Object>();
map.put("id", "007");
map.put("userName", "测试员");
map.put("birthday", new Date());
String reqUrl="http://127.0.0.1:8888/home/yxz/saveUser";
HttpUtils.sendPost(reqUrl, JSON.toJSONString(map));
//HttpRequestProxy.doPost(reqUrl, map);
System.out.println("user save successfully");
}
}


注意事项:

1. springboot启动直接启动刚才创建的启动类就可以启动

2. mapper类可以使用注解,也可以使用官方推荐的xml映射

3. 此方法适用于开发rest接口类,可以快速搭建项目,调试打通与否

内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息