idea從零搭建簡單的springboot+Mybatis


需用到的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

 

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM