spring boot+mybatis 入門

最近對服務端比較感興趣然後看了網上的部分視頻,瞭解了spring boot的基本用法,包括數據庫的增刪改查。post請求返回json數據等操作,有結合app的同學可以看下。先上返回數據截圖:

這裏有3個步驟,一一帶大家瞭解。

   1.搭建spring boot開發環境 準備開發工具idea,jdk8,搭建mysql環境

   3.創建項目集成mybatis,完成數據庫的增刪改查,返回json數據。

1.搭建spring boot開發環境

1.1.下載jdk8

現在開發都是基於idea的,所以這裏就用idea開始.再下載idea之前先將jdk下載下來,這裏使用jdk8(免費,而且沒有特殊需要的話就不用自己去配置java的環境變量)。jdk8下載地址:https://www.oracle.com/technetwork/java/javase/downloads/jdk8-downloads-2133151.html

勾選同意過後,然後再下面選擇你電腦的對應版本進行下載。下載完了就進行安裝直到安裝完成即可。

1.2.安裝idea開發工具(破解)

idea博主參考:https://blog.csdn.net/weixin_44360042/article/details/90669131   http://www.xfdown.com/soft/68418.html#xzdz

1.2.1下載專業版idea

下載地址官網地址:http://www.jetbrains.com/idea/download/#section=windows

1.2.2下載破解補丁

下載idea破解補丁地址:https://github.com/lshaoshuai/springcloud-config/tree/master/ideajar

也可以去博主這兒下載jar只需要1積分地址:

 

1.2.3更改內部文件引入破解補丁

找到idea.exe.vmoptions和idea64.exe.vmoptions文件在這兩個文件的最後一行加上下面的這句話
-javaagent:加上你jar包的路徑位置(路徑中不要中文,如C:\IntelliJ IDEA 2018.3.3\bin\JetbrainsIdesCrack-4.2-release-sha1-3323d5d0b82e716609808090d3dc7cb3198b8c4b.jar)

1.2.4輸入註冊碼,完成idea註冊

idea註冊碼:

MNQ043JMTU-eyJsaWNlbnNlSWQiOiJNTlEwNDNKTVRVIiwibGljZW5zZWVOYW1lIjoiR1VPIEJJTiIsImFzc2lnbmVlTmFtZSI6IiIsImFzc2lnbmVlRW1haWwiOiIiLCJsaWNlbnNlUmVzdHJpY3Rpb24iOiIiLCJjaGVja0NvbmN1cnJlbnRVc2UiOmZhbHNlLCJwcm9kdWN0cyI6W3siY29kZSI6IklJIiwiZmFsbGJhY2tEYXRlIjoiMjAxOS0wNC0wNSIsInBhaWRVcFRvIjoiMjAyMC0wNC0wNCJ9XSwiaGFzaCI6IjEyNjIxNDIwLzAiLCJncmFjZVBlcmlvZERheXMiOjcsImF1dG9Qcm9sb25nYXRlZCI6ZmFsc2UsImlzQXV0b1Byb2xvbmdhdGVkIjpmYWxzZX0=-tltrJHc5lqCKLnza1bcLhMzDkfJeBqhRWbvcrPF9Gqo+X+iFWeKQXoEUOlrG38uSzzmX05ph//PgXgyVfP5RXKsaRMfrv/thoouS5sA0aTemm3z6uRiFirTDj60KSGr5XZoP/WAXO4nuti6SRKZUbr/VSAtRPQRiCJvevq+3gWPDGu2aZ0AemiNLq4qIVWH3wxTN7lK2h5uJssZsyy35Yy9O703c5PFU0fxCj2HRgXq7H/91X+ZNLvvAZAVU9B7bOqnY4ZzNNV/cjY8B5gNo53Lo6s2szEV7DsZ+8e7k8P4Yo81DKxneCBoe4wiZmRaCIT6wK3/27KrtQTFMcGeZMA==-MIIElTCCAn2gAwIBAgIBCTANBgkqhkiG9w0BAQsFADAYMRYwFAYDVQQDDA1KZXRQcm9maWxlIENBMB4XDTE4MTEwMTEyMjk0NloXDTIwMTEwMjEyMjk0NlowaDELMAkGA1UEBhMCQ1oxDjAMBgNVBAgMBU51c2xlMQ8wDQYDVQQHDAZQcmFndWUxGTAXBgNVBAoMEEpldEJyYWlucyBzLnIuby4xHTAbBgNVBAMMFHByb2QzeS1mcm9tLTIwMTgxMTAxMIIBIjANBgkqhkiG9w0BAQEFAAOCAQ8AMIIBCgKCAQEAxcQkq+zdxlR2mmRYBPzGbUNdMN6OaXiXzxIWtMEkrJMO/5oUfQJbLLuMSMK0QHFmaI37WShyxZcfRCidwXjot4zmNBKnlyHodDij/78TmVqFl8nOeD5+07B8VEaIu7c3E1N+e1doC6wht4I4+IEmtsPAdoaj5WCQVQbrI8KeT8M9VcBIWX7fD0fhexfg3ZRt0xqwMcXGNp3DdJHiO0rCdU+Itv7EmtnSVq9jBG1usMSFvMowR25mju2JcPFp1+I4ZI+FqgR8gyG8oiNDyNEoAbsR3lOpI7grUYSvkB/xVy/VoklPCK2h0f0GJxFjnye8NT1PAywoyl7RmiAVRE/EKwIDAQABo4GZMIGWMAkGA1UdEwQCMAAwHQYDVR0OBBYEFGEpG9oZGcfLMGNBkY7SgHiMGgTcMEgGA1UdIwRBMD+AFKOetkhnQhI2Qb1t4Lm0oFKLl/GzoRykGjAYMRYwFAYDVQQDDA1KZXRQcm9maWxlIENBggkA0myxg7KDeeEwEwYDVR0lBAwwCgYIKwYBBQUHAwEwCwYDVR0PBAQDAgWgMA0GCSqGSIb3DQEBCwUAA4ICAQAF8uc+YJOHHwOFcPzmbjcxNDuGoOUIP+2h1R75Lecswb7ru2LWWSUMtXVKQzChLNPn/72W0k+oI056tgiwuG7M49LXp4zQVlQnFmWU1wwGvVhq5R63Rpjx1zjGUhcXgayu7+9zMUW596Lbomsg8qVve6euqsrFicYkIIuUu4zYPndJwfe0YkS5nY72SHnNdbPhEnN8wcB2Kz+OIG0lih3yz5EqFhld03bGp222ZQCIghCTVL6QBNadGsiN/lWLl4JdR3lJkZzlpFdiHijoVRdWeSWqM4y0t23c92HXKrgppoSV18XMxrWVdoSM3nuMHwxGhFyde05OdDtLpCv+jlWf5REAHHA201pAU6bJSZINyHDUTB+Beo28rRXSwSh3OUIvYwKNVeoBY+KwOJ7WnuTCUq1meE6GkKc4D/cXmgpOyW/1SmBz3XjVIi/zprZ0zf3qH5mkphtg6ksjKgKjmx1cXfZAAX6wcDBNaCL+Ortep1Dh8xDUbqbBVNBL4jbiL3i3xsfNiyJgaZ5sX7i8tmStEpLbPwvHcByuf59qJhV/bZOl8KqJBETCDJcY6O2aqhTUy+9x93ThKs1GKrRPePrWPluud7ttlgtRveit/pcBrnQcXOl1rHq7ByB8CFAxNotRUYL9IF5n3wJOgkPojMy6jetQA5Ogc8Sm7RG6vg1yow==

現在idea可以完美使用了。

1.3.搭建mysql環境

1.3.1參考完成安裝

博主安裝教程參考:https://www.cnblogs.com/zhangkanghui/p/9613844.html

mac參考:https://blog.csdn.net/qq_36004521/article/details/80637886

進去查看講的很詳細只要一步一步來準沒問題。

按照上面完成過後再mysql的狀態下先創建一個數據庫以備後用和理解。如:

CREATE DATABASE 數據庫名;

然後先別關掉cmd窗口,因爲後面還會用到。

1.3.2安裝navicat for MySQL軟件來可視化操作數據庫。

下載地址和註冊碼:參考:https://blog.csdn.net/qq_28325423/article/details/80549239

http://download.navicat.com/download/navicat8_mysql_cs.exe

Navicat for MySQL Enterprise Edition 8註冊碼: 
NAVJ-W56S-3YUU-MVHV 
NAVE-WAGB-ZLF4-T23K 

安裝完成後界面如下

如果你現在創建鏈接是不能鏈接成功的,如果可以用就當我沒說。可以跳過這環境搭建這一小節。

記得之前給大家說過別關掉cmd窗口把,現在就派上了用場,把下面代碼複製或輸入進去:

ALTER USER 'root'@'%' IDENTIFIED WITH mysql_native_password BY '你navicat的新密碼';

如果上面代碼還不行的話,將% 改成 localhost即可。

上面的意思就是給你可視化軟件的數據庫鏈接設置密碼。

然後我們就開始通過navicat鏈接數據庫。

創建成功過後打開看看

這裏有個test數據庫,這是博主之前創建的,如果你們創建了的話,應該名字不一樣而已。

然後我們同通這個工具創建一個表,來爲後面做準備。

創建完成後點擊保存就是給表取的時候了,博主取的爲user。

如果環境配置沒問題過後,那麼就接下來開始創建項目了,如果有問題也可以留言或者私信博主。

2.創建項目

2.1創建項目

按照圖片順序走就行了

創建完成。項目第一次創建完成可能配置需要一段時間(半個小時左右)。當配置完成了再進行下面操作。

2.2添加maven,集成mybatis

打開pom.xml文件,在dependencies標籤裏面添加下面代碼,等待依賴加入,如果右下角有提示,選擇enable 以後自動添加依賴。

<!--        mysql-->
        <dependency>
            <groupId>mysql</groupId>
            <artifactId>mysql-connector-java</artifactId>
        </dependency>
        <dependency>
            <groupId>org.springframework.boot</groupId>
            <artifactId>spring-boot-starter-jdbc</artifactId>
        </dependency>
        <dependency>
            <groupId>org.mybatis.spring.boot</groupId>
            <artifactId>mybatis-spring-boot-starter</artifactId>
            <version>2.0.1</version>
        </dependency>

依賴添加完成過後等待構建完成。然後再開始配置相關信息如圖:

username是數據庫的賬戶名,密碼就是剛剛我們自己設置的密碼,然後上面的url照着寫就完事了,代碼如下:

server.port=8080 
#MYSQL配置信息
spring.datasource.url=jdbc:mysql://127.0.0.1:3306/test?useUnicode=true&useJDBCCompliantTimezoneShift=true&serverTimezone=UTC&characterEncoding=utf8
spring.datasource.username=root
spring.datasource.password=jmgg

現在spring boot和mybatis都配置完成是不是非常簡單。那我們先來測試一下數據庫是不是通了。

2.3測試項目和數據庫之間的通信

先打開我們的navicat軟件,然後打開數據庫,點擊我們剛剛創建的表,我們先給你們添加幾條簡單的數據方便我們測試。如圖:

現在數據添加進去了,然後我們開始調試

這裏我是testSql方法我是查詢我的user表,然後查看他的數據有多少條,而testUpdateSql表是將id爲1的的name字段的值更改爲 ojbk。如果大家對sql語句熟悉的話就不會陌生,不熟悉不要緊,下面這個網址上會有平時用到的語句

https://www.runoob.com/mysql/mysql-create-database.html

代碼如下:

   @Autowired
    JdbcTemplate jdbcTemplate;
    @Test
    void contextLoads() {
    }
    @Test
    void testSql(){
        List<Map<String,Object>> request=jdbcTemplate.queryForList("select * from user");
        request.size();
        request.get(1).get("name");
    }
    @Test
    void testUpdateSql(){
        jdbcTemplate.execute("update user set name='ojbk' where id='1'");
    }

開始調試按照圖的步驟來:

2.4編寫接口,實現post請求並返回數據。

這裏我們還是以user表爲例,先創建一個實體類,裏面存放的字段和user字段對應即可。博主代碼如下:


public class User {
    private Integer id;
    private String name;
    private String token;

    public User(String userAccount, String userName, String key) {
    }
    public User() {
    }
    public Integer getId() {
        return id;
    }

    public void setId(Integer id) {
        this.id = id;
    }

    public String getName() {
        return name;
    }

    public void setName(String name) {
        this.name = name;
    }

    public String getToken() {
        return token;
    }

    public void setToken(String token) {
        this.token = token;
    }
}

然後再通過mybatis的集成來簡化很多事情。代碼如下:


@Mapper
public interface TestMapper {
    //插入數據,關鍵字還有很多刪除就是@Delete("sql語句"),其他語句同理。
    @Insert("insert into user(id,name,token) values (#{id},#{name},#{token})")
    public void inset(User user);
}

現在創建一個同理管理的數據請求格式類

這樣纔是一個合格的json返回數據格式,代碼如下:


/**
 * @author: jmgg
 * @description: 數據返回類
 * @create: 2018/07/04
 */
public class BaseResponse<T> {

    private Integer code;

    private String message;

    private T data;

    public BaseResponse() {
    }

    public BaseResponse(Integer code, String message) {
        this.code = code;
        this.message = message;
    }

    public BaseResponse(Integer code, String message, T data) {
        this.code = code;
        this.message = message;
        this.data = data;
    }

    public Integer getCode() {
        return code;
    }

    public void setCode(Integer code) {
        this.code = code;
    }

    public String getMessage() {
        return message;
    }

    public void setMessage(String message) {
        this.message = message;
    }

    public T getData() {
        return data;
    }

    public void setData(T data) {
        this.data = data;
    }

}

然後創建一個控制器,用來處理這些數據和接口地址調用,代碼如下:


@RestController
public class TestController {
    @Autowired
    TestMapper testMapper;

    @PostMapping("/getInfo")
    @ResponseBody
    public BaseResponse<User> getInfo(@RequestParam("name") String domain,
                                      @RequestParam("token") String account) {

        User user=new User();
        user.setName(domain);
        user.setToken(account);
        testMapper.inset(user);
        BaseResponse<User> userBaseResponse =new BaseResponse<>(200,"返回成功!",user);
        return userBaseResponse;
    }
}

這裏的意思就是 請求localhost:8080/getInfo地址,傳入post參數,即可得到返回的json數據。

運行,點擊application類,然後在裏面點擊運行即可。

自己可以在網上輸入地址測試也可以通過postman工具測試,博主測試結果如下:

如有疑問和見解,歡迎留言一起交流。

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章