需用到的sql
/* Navicat MySQL Data Transfer Source Server : localhost root Source Server Version : 80012 Source Host : localhost:3306 Source Database : demo Target Server Type : MYSQL Target Server Version : 80012 File Encoding : 65001 Date: 2018-12-11 14:58:41 */ SET FOREIGN_KEY_CHECKS=0; -- ---------------------------- -- Table structure for sys_user -- ---------------------------- DROP TABLE IF EXISTS `sys_user`; CREATE TABLE `sys_user` ( `user_id` int(11) NOT NULL AUTO_INCREMENT COMMENT '主键ID', `username` varchar(64) CHARACTER SET utf8mb4 COLLATE utf8mb4_bin NOT NULL COMMENT '用户名', `password` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_bin NOT NULL, `salt` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_bin DEFAULT NULL COMMENT '随机盐', `phone` varchar(20) CHARACTER SET utf8mb4 COLLATE utf8mb4_bin NOT NULL COMMENT '简介', `avatar` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_bin DEFAULT NULL COMMENT '头像', `dept_id` int(11) DEFAULT NULL COMMENT '部门ID', `create_time` timestamp NULL DEFAULT CURRENT_TIMESTAMP COMMENT '创建时间', `update_time` timestamp NULL DEFAULT NULL ON UPDATE CURRENT_TIMESTAMP COMMENT '修改时间', `del_flag` char(1) CHARACTER SET utf8mb4 COLLATE utf8mb4_bin DEFAULT '0' COMMENT '0-正常,1-删除', PRIMARY KEY (`user_id`), UNIQUE KEY `user_idx1_username` (`username`), UNIQUE KEY `user_idx2_phone` (`phone`) ) ENGINE=InnoDB AUTO_INCREMENT=5 DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_bin ROW_FORMAT=DYNAMIC COMMENT='用户表'; -- ---------------------------- -- Records of sys_user -- ---------------------------- INSERT INTO `sys_user` VALUES ('1', 'admin', '$2a$10$vg5QNHhCknAqevx9vM2s5esllJEzF/pa8VZXtFYHhhOhUcCw/GWyS', null, '17034642111', null, '1', '2018-04-20 07:15:18', '2018-05-11 17:12:00', '0'); INSERT INTO `sys_user` VALUES ('4', 'pig', '$2a$10$vg5QNHhCknAqevx9vM2s5esllJEzF/pa8VZXtFYHhhOhUcCw/GWyS', null, '17034642118', null, '1', '2018-04-22 11:39:07', '2018-05-10 18:01:11', '0');
首先打开idea创建项目
选好jdk版本点击next
根据自己需求修改各个参数点击next
选中SQL的依赖
然后选择web依赖点击next
finish
然后新建各个包
在application.properties
1 #数据库地址及库 2 spring.datasource.url=jdbc:mysql://localhost:3306/demo?useUnicode=true&characterEncoding=utf8&zeroDateTimeBehavior=convertToNull&useSSL=false 3 #数据库账号密码 4 spring.datasource.username=root 5 spring.datasource.password=root 6 #驱动 7 spring.datasource.driverClassName=com.mysql.jdbc.Driver 8 9 #mapper扫描地址 10 mybatis.mapper-locations= classpath*:mapper/**/*Mapper.xml 11 12 #tomcat端口号及编码 13 server.port=8011 14 server.tomcat.uri-encoding=UTF-8
这里启动时会报个错,这个错目前好像是springboot版本过于新,导致jdbc的驱动与以前不一样,所以我更改了springboot版本(下方红色为报错信息) 记得构建下
更改后在controler中创建一个java类
controller代码
1 package com.example.demo.controller; 2 3 import org.springframework.web.bind.annotation.RequestMapping; 4 import org.springframework.web.bind.annotation.RestController; 5 6 @RestController 7 public class DemoController { 8 9 @RequestMapping("hello") 10 public String test(){ 11 return "hello"; 12 } 13 }
创建后启动进入网址:http://localhost:8011/hello
进入成功
到这里就是简单的idea搭建springboot项目了,接下来整合mybaits
新建各个类
1 /* 2 * Copyright (c) 2015, QUANRONG E-COMMDERCE LTD. All rights reserved. 3 */ 4 package com.example.demo.domain; 5 6 import java.util.Date; 7 8 /** 9 * 用户Entity 10 * @author qr 11 * @version 2013-12-05 12 */ 13 public class User { 14 15 private static final long serialVersionUID = 1L; 16 17 private Long id;//租户id 18 private String username;//用户名 19 private String password;//租户id 20 private String salt;//随机盐 21 private String phone;//简介 22 private String avatar;//头像 23 private String deptid;//部门ID 24 private Date createTime;//创建时间 25 private Date updateTime;//修改时间 26 private String delFlag;//0-正常,1-删除', 27 28 public Long getId() { 29 return id; 30 } 31 32 public void setId(Long id) { 33 this.id = id; 34 } 35 36 public String getUsername() { 37 return username; 38 } 39 40 public void setUsername(String username) { 41 this.username = username; 42 } 43 44 public String getPassword() { 45 return password; 46 } 47 48 public void setPassword(String password) { 49 this.password = password; 50 } 51 52 public String getSalt() { 53 return salt; 54 } 55 56 public void setSalt(String salt) { 57 this.salt = salt; 58 } 59 60 public String getPhone() { 61 return phone; 62 } 63 64 public void setPhone(String phone) { 65 this.phone = phone; 66 } 67 68 public String getAvatar() { 69 return avatar; 70 } 71 72 public void setAvatar(String avatar) { 73 this.avatar = avatar; 74 } 75 76 public String getDeptid() { 77 return deptid; 78 } 79 80 public void setDeptid(String deptid) { 81 this.deptid = deptid; 82 } 83 84 public Date getCreateTime() { 85 return createTime; 86 } 87 88 public void setCreateTime(Date createTime) { 89 this.createTime = createTime; 90 } 91 92 public Date getUpdateTime() { 93 return updateTime; 94 } 95 96 public void setUpdateTime(Date updateTime) { 97 this.updateTime = updateTime; 98 } 99 100 public String getDelFlag() { 101 return delFlag; 102 } 103 104 public void setDelFlag(String delFlag) { 105 this.delFlag = delFlag; 106 } 107 }
controller代码修改为(如果自己编写代码注意注解别忘记加上)
1 package com.example.demo.controller; 2 3 import com.example.demo.domain.User; 4 import com.example.demo.service.HelloService; 5 import org.springframework.beans.factory.annotation.Autowired; 6 import org.springframework.web.bind.annotation.RequestMapping; 7 import org.springframework.web.bind.annotation.ResponseBody; 8 import org.springframework.web.bind.annotation.RestController; 9 10 import java.util.List; 11 12 @RestController 13 public class DemoController { 14 15 @Autowired 16 private HelloService helloService; 17 18 19 @RequestMapping("hello") 20 @ResponseBody 21 public List<User> test(){ 22 List<User> users = helloService.selectUser(); 23 return users; 24 } 25 }
service
package com.example.demo.service; import com.example.demo.domain.User; import java.util.List; public interface HelloService { List<User> selectUser(); }
serviceImpl(如果自己编写代码注意注解别忘记加上)
package com.example.demo.service.Impl; import com.example.demo.domain.User; import com.example.demo.mapper.HelloDao; import com.example.demo.service.HelloService; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.stereotype.Service; import java.util.List; @Service public class HelloServiceImpl implements HelloService { @Autowired private HelloDao helloDao; @Override public List<User> selectUser() { return helloDao.selectUser(); } }
dao(如果自己编写代码注意注解别忘记加上)
package com.example.demo.mapper; import com.example.demo.domain.User; import org.springframework.stereotype.Repository; import java.util.List; @Repository public interface HelloDao { List<User> selectUser(); }
xml(记得修改mapper的namespace为对应dao的全路径 还有resultType的全路径)
<?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.example.demo.mapper.HelloDao"> <select id="selectUser" resultType="com.example.demo.domain.User"> SELECT user_id as 'id', username, password, salt, phone, avatar, dept_id as 'deptId', create_time AS 'createTime', update_time AS 'updateTime', del_flag AS 'delFlag' FROM sys_user; </select> </mapper>
最后在启动项加上扫描的包的地址
然后大功告成 访问地址:http://localhost:8011/hello