目录如下图:
1.引入mybatis和mysql的依赖
<!-- Mybatis --> <dependency> <groupId>org.mybatis.spring.boot</groupId> <artifactId>mybatis-spring-boot-starter</artifactId> <version>1.1.1</version> </dependency> <!-- mysql --> <dependency> <groupId>mysql</groupId> <artifactId>mysql-connector-java</artifactId> </dependency>
2.添加配置文件配置数据库和其他参数
在resource文件夹下添加application.properties配置文件并输入数据库参数,如下:
#mysql配置 spring.datasource.url=jdbc:mysql://127.0.0.1:3306/test?serverTimezone=GMT%2B8 spring.datasource.username=root spring.datasource.password=123 spring.datasource.driver-class-name=com.mysql.cj.jdbc.Driver spring.datasource.max-idle=10 spring.datasource.max-wait=10000 spring.datasource.min-idle=5 spring.datasource.initial-size=5 #XML文件位置 指定DAO与SQL语句关联 mybatis.mapper-locations=classpath:mapper/*.xml mybatis.type-aliases-package=com.pingan.test.entity
3.在Controller类新建接口测试数据库连接
@Autowired private TestService testService; // @ApiOperation("获取数据库内容") @RequestMapping(value="/getList",method= RequestMethod.GET) public List<ItemEntity> getList(){ return testService.getList(); }
4.依次添加service类和serviceImpl类和mapper的接口类和xml文件和实体类
public interface TestService { public List<ItemEntity> getList(); }
@Service("testService") public class TestServiceImpl implements TestService { @Autowired private TestMapper testMapper; @Override public List<ItemEntity> getList() { return testMapper.getList(); } }
@Repository("testMapper") public interface TestMapper { public List<ItemEntity> getList(); }
public class ItemEntity implements Serializable{ private static final long serialVersionUID = 1L; private int id; private String username; private String password; private String name; public int getId() { return id; } public void setId(int id) { this.id = id; } public String getUsername() { return username; } public void setUsername(String username) { this.username = username; } public String getPassword() { return password; } public void setPassword(String password) { this.password = password; } public String getName() { return name; } public void setName(String name) { this.name = name; } }
TestMapper.xml <?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.pingan.test.mapper.TestMapper"> <resultMap id="BaseResultMap" type="com.pingan.test.entity.ItemEntity" > <id column="id" property="id" jdbcType="INTEGER" /> <result column="username" property="username" jdbcType="VARCHAR" /> <result column="password" property="password" jdbcType="VARCHAR" /> <result column="name" property="name" jdbcType="VARCHAR" /> </resultMap> <select id="getList" resultMap="BaseResultMap"> select id, username, password,name from user where password='123' </select> </mapper>
5.如果把*mapper.xml文件放置在src/main/java下,则需要在在pom.xml文件中的build标签中添加一下标签内容-作用是让mapper的方法可以找到对应的xmlid <!-- 资源目录 --> <resources> <resource> <directory>src/main/java</directory> <includes> <include>**/*.xml</include> <include>**/*.properties</include> </includes> <filtering>false</filtering> </resource> </resources>
6.创建sql数据库和user表
CREATE DATABASE test;
use test;
CREATE TABLE `user` (
`id` INT(11) NOT NULL AUTO_INCREMENT,
`username` VARCHAR(50) DEFAULT NULL,
`password` VARCHAR(50) DEFAULT NULL,
`name` VARCHAR(50) DEFAULT NULL,
PRIMARY KEY (`id`)
) ENGINE=INNODB AUTO_INCREMENT=3 DEFAULT CHARSET=utf8
INSERT INTO USER (username,PASSWORD,NAME) VALUE("zhangsan","123","张三");
INSERT INTO USER (username,PASSWORD,NAME) VALUE("lisi","123","李四");
INSERT INTO USER (username,PASSWORD,NAME) VALUE("wangwu","123","王五");
COMMIT;
7.启动TestApplication类
8.postMan访问Controller接口 http://localhost:8080/test/getList