springboot+mybatis入门
来源:互联网 发布:淘宝怎么认证实名认证 编辑:程序博客网 时间:2024/06/05 15:09
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 = rootspring.datasource.password = 1234spring.datasource.driverClassName = com.mysql.jdbc.Driver
3. 数据库处理逻辑代码
在数据库中建立一种用户表,如下:
字段类型描述idbigint(20)主键idnamevarchar(64)姓名ageint(11)年龄cityvarchar(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;@Servicepublic 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;@RestControllerpublic 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=上海
0 0
- springboot+mybatis入门
- springboot+mybatis整合(入门)
- SpringBoot 使用Mybatis入门
- springboot入门之mybatis
- SpringBoot入门之整合mybatis
- dubbo+springboot+mybatis入门案例
- SpringBoot入门-快速整合Mybatis
- SpringBoot入门系列:第六篇 mybatis
- SpringBoot入门系列:第六篇 mybatis
- springboot入门(二)初步集成mybatis
- SpringBoot入门系列: mybatis(六)
- springboot+mybatis的简单的入门例子
- SpringBoot入门系列:第六篇 mybatis
- SpringBoot入门-16(springboot集成mybatis注解形式)
- springboot入门(三)-- springboot集成mybatis及mybatis generator工具使用
- springBoot--mybatis
- springboot + mybatis
- mybatis+springboot
- 最大连续数列的和
- [leetcode]390. Elimination Game
- maven打包,实现将jar包中的路径,打到对应的目录下
- 控制台程序,输入退格键不回显的方法
- 论持久战之Java性能监控工具(jmap)
- springboot+mybatis入门
- 十大排序算法 JAVA代码
- 分治算法(三)215. Kth Largest Element in an Array【middle】03-04
- 团结就是力量
- AlertDialog
- kmp
- Arrays.asList()
- Mvc动态注册HttpModule详解
- PHPStorm Xdebug Remote 调试环境搭建(不依赖本地环境)