Spring Boot 的简单教程(五)数据库连接之Mybatis的使用
Mybatis的使用
MyBatis 是一款优秀的持久层框架,它支持定制化 SQL、存储过程以及高级映射。MyBatis 避免了几乎所有的 JDBC 代码和手动设置参数以及获取结果集。MyBatis 可以使用简单的 XML 或注解来配置和映射原生信息,将接口和 Java 的POJOs(Plain Old Java Objects,普通的 Java对象)映射成数据库中的记录。怎么在Spring Boot里面使用Mybatis呢?就继续看吧。
第一,在pom.xml里面导入配置文件。
<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> </dependency>
第二,添加相关配置 application.yml。
#配置数据源 spring: datasource: #这里可以不写,会根据url自动判断,如果mybatis里面配置了version那么这里写了就会报错。 driver-class-name: com.mysql.jdbc.Driver url: jdbc:mysql://localhost:3306/springboot username: root password: password #这是在控制台打印mybatis的sql语句 logging: level: com: springboot: mybatis: mepper: debug #这是mapper放置的地址。 #开启驼峰命名法,这样后面的开发Mapper就可以省掉@Results的注解,当然,不是驼峰命名法的还是不能省略。 mybatis: configuration: map-underscore-to-camel-case: true
第三,在启动类中添加对mapper包扫描@MapperScan。
@SpringBootApplication @MapperScan("com.springboot.mybatis.mapper") //mapper文件的存放地址 public class Application { public static void main(String[] args) { SpringApplication.run(Application.class, args); } }
第四,开发Mapper就可以了。
public interface GirlMapper { //这里没有使用@Results注解,是因为前面在application.yml已经进行相关配置了。 @Select("select * from girl") @Results({ @Result(column="cup_size", property="cupSize", jdbcType=JdbcType.VARCHAR) }) List<Girl> findAll(); @Select("select * from girl where id = #{id}") Girl findOne(Integer id); }@Select 是查询类的注解,所有的查询均使用这个
@Result修饰返回的结果集,关联实体类属性和数据库字段一一对应,如果实体类属性和数据库属性名保持一致,就不需要这个属性来修饰。
@Insert插入数据库使用,直接传入实体类会自动解析属性到对应的值
@Update 负责修改,也可以直接传入对象
@delete 负责删除
第五,使用就可以了。
//如果想使用@RestController和@RequestMapping就必须在pom.xml里面导入WEB支持(spring-boot-starter-web) @RestController public class GirlController { //注入GirlMapper @Autowired GirlMapper girlMapper; @RequestMapping("/girls") public List<Girl> findAll(){ return girlMapper.findAll(); } @RequestMapping("/girl/{id}") public Girl findOne(@PathVariable("id") Integer id){ return girlMapper.findOne(id); } }
相关推荐
牧场SZShepherd 2020-07-20
xiuyangsong 2020-07-26
Dullonjiang 2020-07-19
dongxurr 2020-08-08
Dullonjiang 2020-07-30
liqiancao 2020-07-26
helloxusir 2020-07-08
mituan 2020-06-14
xiuyangsong 2020-11-16
Nishinoshou 2020-11-09
jimgreatly 2020-09-01
dongxurr 2020-08-18
Dullonjiang 2020-08-15
Dullonjiang 2020-08-11
Dullonjiang 2020-08-09
yunzhonmghe 2020-08-07
jimgreatly 2020-08-03
jimgreatly 2020-07-27