springboot+mybatis入门
2017-03-05 09:18
761 查看
1. 概述
springboot是最近非常火的基于spring的微服务框架,它简化了使用springmvc非常繁琐的配置信息管理,让开发者专注于实现自己的业务逻辑。2. 使用
2.1 新建一个springboot项目
下面以intellij idea工具为例讲解如何创建一个访问数据库的springboot微服务。在IDE里面 NEW->PROJECT 然后依次如下来配置选项。
最后点击完成生成如下的springboot目录结构。
创建过程问题:
1. 如果在对应的包下面新建java文件时,看不到java代码选项,可以将java目录设置为source roots
如此以来,就可以在对应的包下新建包或者java代码,但是会带来另外一个问题, 就是发现了部分文件里面会提示“can not resolve springframework”信息, 此问题可以通过以下方式来解决。
2.2 数据库相关配置
编辑application.properties文件,添加如下内容设置数据库相关配置信息:
spring.datasource.url = jdbc:mysql://localhost:3306/test // 修改为自己的数据库 spring.datasource.username = root spring.datasource.password = 1234 spring.datasource.driverClassName = com.mysql.jdbc.Driver
3. 数据库处理逻辑代码
在数据库中建立一种用户表,如下:字段 | 类型 | 描述 |
id | bigint(20) | 主键id |
name | varchar(64) | 姓名 |
age | int(11) | 年龄 |
city | varchar(64) | 所在城市 |
然后,创建controller、service、dao、mapper包,并添加对应的代码。
在dao层下面新建UserDao类
package com.windyman.dao; import java.util.Locale; public class UserDao { /** * 主键id */ private long id; /** * 姓名 */ private String name; /** * 年龄 */ private int age; /** * 城市 */ private String city; /** * @param id */ public void setId(long id) { this.id = id; } /** * @return */ public long getId() { return this.id; } /** * * @param name */ public void setName(String name) { this.name = name; } /** * * @return */ public String getName() { return this.name; } /** * * @param age */ public void setAge(int age) { this.age = age; } /** * * @return */ public int getAge() { return this.age; } /** * * @param city */ public void setCity(String city) { this.city = city; } /** * * @return */ public String getCity() { return this.city; } }
在mapper包下面新建UserMapper接口
package com.windyman.mapper; import com.windyman.dao.*; import org.apache.ibatis.annotations.Param; import org.apache.ibatis.annotations.Select; import org.apache.ibatis.annotations.Insert; public interface UserMapper { @Select("SELECT * FROM user WHERE id = #{id}") public UserDao getById(@Param("id") long id); @Insert("INSERT INTO user(name, age, city) VALUES(#{name}, #{age}, #{city})") public int insert(@Param("name") String name, @Param("age") Integer age, @Param("city") String city); }
在service下面新建UserService类
package com.windyman.service; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.stereotype.Service; import com.windyman.dao.UserDao; import com.windyman.mapper.UserMapper; @Service public class UserService { @Autowired private UserMapper userMapper; public UserDao getUserById(long id) { return userMapper.getById(id); } public int insertUser(String name, int age, String city) { return userMapper.insert(name, age, city); } }
在controller下面新建UserController类
package com.windyman.controller; //import javax.servlet.http.HttpServletRequest; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.web.bind.annotation.*; import com.windyman.dao.UserDao; import com.windyman.service.UserService; import java.util.HashMap; @RestController public class UserController { @Autowired private UserService userService; @RequestMapping("/userinfo") public UserDao getUser(long id) { return userService.getUserById(id); } @RequestMapping(value="/useradd", method = RequestMethod.GET) public HashMap userAdd(@RequestParam("name") String name, @RequestParam("age") String age, @RequestParam("city") String city) { int intAge = Integer.parseInt(age); int id = userService.insertUser(name, intAge, city); HashMap response = new HashMap(); response.put("status", 0); response.put("msg", "success"); response.put("data", id); return response; } }
最后修改程序的入口类
package com.windyman; import org.mybatis.spring.annotation.MapperScan; import org.springframework.boot.SpringApplication; import org.springframework.boot.autoconfigure.SpringBootApplication; @SpringBootApplication @MapperScan("com.windyman.mapper") public class LearnspringbootApplication { public static void main(String[] args) { SpringApplication.run(LearnspringbootApplication.class, args); } }
启动程序, 访问http://localhost:8080/userinfo?id=5 得到json返回数据
访问http://localhost:8080/useradd?name=张三&age=20&city=上海
相关文章推荐
- Spring Boot+Mybatis 入门Demo
- SpringBoot 入门教程:集成mybatis,redis
- spring boot 集成 mybatis 入门级学习
- Spring boot入门,整合mybatis开发案例
- springBoot spring Mybatis/hibernate 初级入门及尝试
- springboot入门(二)初步集成mybatis
- springboot+mybatis整合(入门)
- Spring boot入门五 spring mvc spring boot mybatis配置整合
- SpringBoot入门——整合Mybatis
- Spring Boot + MyBatis 快速入门
- SpringBoot 入门教程:集成mybatis,redis
- Spring Boot入门——集成Mybatis
- SpringBoot入门系列: mybatis(六)
- SpringBoot 使用Mybatis入门
- SpringBoot入门系列:第六篇 mybatis
- SpringBoot 入门教程:集成mybatis,redis
- springboot+mybatis的简单的入门例子
- Java - Struts框架教程 Hibernate框架教程 Spring框架入门教程(新版) sping mvc spring boot spring cloud Mybatis
- springboot入门之mybatis
- springboot入门(三)-- springboot集成mybatis及mybatis generator工具使用