mybatis
-
引入啓動器
<dependency> <groupId>org.mybatis.spring.boot</groupId> <artifactId>mybatis-spring-boot-starter</artifactId> <version>1.3.2</version> </dependency>
-
添加數據源與連接池
<dependency> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter-jdbc</artifactId> </dependency> <dependency> <groupId>mysql</groupId> <artifactId>mysql-connector-java</artifactId> <version>5.1.47</version> </dependency>
-
yml配置
spring: datasource: driver-class-name: com.mysql.jdbc.Driver username: root password: 990801lxq url: jdbc:mysql://localhost:3306/mybage?serverTimezone=UTC&useUnicode=true&characterEncoding=utf-8 mybatis: configuration: map-underscore-to-camel-case: true #開啓駝峯命名 type-aliases-package: cn.guoke.pojo #別名 mapper-locations: mapper/*.xml #xml
-
配置掃描接口
package cn.guoke; import org.mybatis.spring.annotation.MapperScan; import org.springframework.boot.SpringApplication; import org.springframework.boot.autoconfigure.SpringBootApplication; @SpringBootApplication @MapperScan("cn.guoke.mapper") public class Springboot2Application { public static void main(String[] args) { SpringApplication.run(Springboot2Application.class, args); } }
使用通用Mapper操作數據庫
-
引入Mapper
在引入通用mapper後數據庫與mybatis就不需要引入了 ,只需要引入數據庫驅動就可以了,且會開啓駝峯命名
<dependency> <groupId>tk.mybatis</groupId> <artifactId>mapper-spring-boot-starter</artifactId> <version>2.1.5</version> </dependency>
-
數據庫驅動
<dependency> <groupId>mysql</groupId> <artifactId>mysql-connector-java</artifactId> <version>5.1.47</version> </dependency>
-
編寫實體類
package cn.guoke; import lombok.AllArgsConstructor; import lombok.Data; import lombok.NoArgsConstructor; @Data @AllArgsConstructor @NoArgsConstructor public class User { private String id; private String name; private String pwd; }
-
編寫接口繼承Mapper
package cn.guoke.mapper; import cn.guoke.User; import tk.mybatis.mapper.common.Mapper; public interface UserMapper extends Mapper<User> { }
-
在啓動處修改
import tk.mybatis.spring.annotation.MapperScan;
package cn.guoke; import org.springframework.boot.SpringApplication; import org.springframework.boot.autoconfigure.SpringBootApplication; import tk.mybatis.spring.annotation.MapperScan; @SpringBootApplication @MapperScan("cn.guoke.mapper") public class Springboot2Application { public static void main(String[] args) { SpringApplication.run(Springboot2Application.class, args); } }
-
使用通用Mapper的常用註解
@Table(name = "user")
表名@Id
主鍵@KeySql(useGeneratedKeys = true)
自增@Transient
不是sql的字段
-
test
package cn.guoke; import cn.guoke.mapper.UserMapper; import cn.guoke.pojo.User; import org.junit.runner.RunWith; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.boot.test.context.SpringBootTest; import org.springframework.test.context.junit4.SpringRunner; @RunWith(SpringRunner.class) @SpringBootTest public class Test { @Autowired private UserMapper userMapper; @org.junit.Test public void test_01(){ User user = userMapper.selectByPrimaryKey(1); System.out.println(user); } }