SprintBoot学习- 3、整合MyBatis

1、下载安装一个Mysql数据库管理工具,很多,自己选一个,我在windows下习惯使用的是haosql

2、创建一个j_user表,有如下列,先设计较少的列,以后扩展字段

 3、打开mybatis官网可以查看资料

http://www.mybatis.org/mybatis-3/zh/getting-started.html

pom.xml中添加mybatis和mysql

       <!-- https://mvnrepository.com/artifact/org.mybatis/mybatis -->
        <dependency>
            <groupId>org.mybatis</groupId>
            <artifactId>mybatis</artifactId>
            <version>3.5.3</version>
        </dependency>
        <!-- https://mvnrepository.com/artifact/mysql/mysql-connector-java -->
        <dependency>
            <groupId>mysql</groupId>
            <artifactId>mysql-connector-java</artifactId>
            <version>8.0.18</version>
        </dependency>

4、创建实体类User

public class User {
int id;
String username;
String password;
String realname;
short sex;
Date createtime;
int createby;
Date updatetime;
int updateby;
}
4.1安装一个插件,可以自动生成setter,getter

 4.2 引入依赖

<dependency>
 <groupId>org.projectlombok</groupId>
 <artifactId>lombok</artifactId>
 <optional>true</optional>
</dependency>

5、添加一个数据库连接

提示时区错误,改为MySql For 5.1

 6、添加一个插件

 7、连接数据库生成代码

 8、结构如下

 修改JUserDao.xml

 

 9、application.properties修改如下

spring.datasource.url = jdbc:mysql://localhost:3306/jgdb
spring.datasource.username = root
spring.datasource.password = ***
spring.datasource.driverClassName = com.mysql.jdbc.Driver
spring.datasource.max-active=20
spring.datasource.max-idle=8
spring.datasource.min-idle=8
spring.datasource.initial-size=10
mybatis.mapper-locations=classpath:mapper/*.xml
mybatis.typeAliasesPackage=com.jgui.mapper

10、修改pom.xml,build下确保有如下代码

<build>
        <plugins>
            <plugin>
                <groupId>org.springframework.boot</groupId>
                <artifactId>spring-boot-maven-plugin</artifactId>
            </plugin>
        </plugins>
        <resources>
            <resource>
                <directory>src/main/java</directory>
                <includes>
                    <include>**/*.properties</include>
                    <include>**/*.xml</include>
                </includes>
                <filtering>false</filtering>
            </resource>
            <resource>
                <directory>src/main/resources</directory>
                <includes>
                    <include>**/*.properties</include>
                    <include>**/*.xml</include>
                </includes>
                <filtering>false</filtering>
            </resource>
        </resources>

    </build>

11、JUserDao下增加@Mapper

 12、启动文件增加MappScan

package com.jgui;

import org.mybatis.spring.annotation.MapperScan;
import org.springframework.boot.SpringApplication;
import org.springframework.boot.autoconfigure.SpringBootApplication;
@MapperScan({ "com.jgui.dao"})
@SpringBootApplication
public class JgadminApplication {

    public static void main(String[] args) {
        SpringApplication.run(JgadminApplication.class, args);
    }

}

13、为了简单测试,不再建立Services层,直接修改HelloController如下

@RestController
public class HelloController {
    @Resource
    private JUserDao userDao;
    @RequestMapping("/Hello")
    public String hello() {
        return userDao.selectByPrimaryKey(1).getUsername();
        //return "Hello World11";
    }
}

14、在浏览器访问

 15、经验教训
  

Invalid bound statement (not found)
No qualifying bean of type 'com.jgui.dao.JUserDao' available

8-12不能遗漏,不然会报上面两个错误!

猜你喜欢

转载自www.cnblogs.com/zhaogaojian/p/12159263.html