建立springboot 標準工程(MyBatis)
阿新 • • 發佈:2018-11-12
實現目標:
建立一個簡單的資料庫demo,表名mach,id為自增,mach_no為字串
建立Maven的jar工程,pom.xml內容如下
<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd"> <modelVersion>4.0.0</modelVersion> <groupId>com.legion</groupId> <artifactId>standard</artifactId> <version>0.0.1-SNAPSHOT</version> <parent> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter-parent</artifactId> <version>1.5.2.RELEASE</version> </parent> <properties> <project.build.sourceEncoding>UTF-8</project.build.sourceEncoding> <project.reporting.outputEncoding>UTF-8</project.reporting.outputEncoding> <java.version>1.8</java.version> </properties> <dependencies> <dependency> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter-web</artifactId> </dependency> <dependency> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter-test</artifactId> <scope>test</scope> </dependency> <dependency> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-devtools</artifactId> </dependency> <dependency> <groupId>org.mybatis.spring.boot</groupId> <artifactId>mybatis-spring-boot-starter</artifactId> <version>1.1.1</version> </dependency> <dependency> <groupId>mysql</groupId> <artifactId>mysql-connector-java</artifactId> <version>5.1.6</version> </dependency> <dependency> <groupId>com.alibaba</groupId> <artifactId>druid</artifactId> <version>1.0.28</version> </dependency> </dependencies> </project>
建立常規的package
com.legion.controller
com.legion.dao
com.legion.pojo
com.legion.service
建立包com.legion,新建類MyBootDemo,其中有main函式
@SpringBootApplication public class MyBootDemo { public static void main(String[] args) { // TODO Auto-generated method stub SpringApplication.run(MyBootDemo.class,args); } }
注意:其他包必須和springboot入口的package同級,或者處於下一級。
看到了有的工程在此處使用了
@ComponentScan(basePackages="XX.YY")
@MapperScan(basePackages="XX.YY.ZZ")
在src/main/resources建立application.properties檔案
#下面這一行指定Mapper xml檔案位置,發現不配置也可以
mybatis.mapper-locations=classpath:com/legion/dao/*.xml spring.datasource.url=jdbc:mysql://localhost:3306/demo spring.datasource.driver-class-name=com.mysql.jdbc.Driver spring.datasource.username=root spring.datasource.password=123456
下面的內容和標準的SSM區別不大,注意Mapper介面加上@Mapper註解。
com.leigon.controller中UserController.java的內容
@RestController public class UserController { @Autowired private MachineService ms; @RequestMapping("/all") public List<Machine> findAll(){ return ms.findAll(); } @RequestMapping("/hello") public String show() { return "hello,world"; } }
com.legion.dao
MachineMapper.java
@Mapper public interface MachineMapper { public List<Machine> findAll(); }
MachineMapper.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.legion.dao.MachineMapper"> <select id="findAll" resultType="com.legion.pojo.Machine"> select * from mach </select> </mapper>
com.legion.pojo中的Machine.java
public class Machine { private int id; private String mach_no; //getter and setter ... }
com.legion.service介面和實現
public interface MachineService { public List<Machine> findAll(); } @Service public class MachineServiceImpl implements MachineService { @Autowired private MachineMapper machine; @Override public List<Machine> findAll() { return machine.findAll(); } }