Springboot集成MyBatis进行开发
-
引入相关的依赖
<dependency>
<groupId>junit</groupId>
<artifactId>junit</artifactId>
<version>4.11</version>
<scope>test</scope>
</dependency>
<!--引⼊springboot的web⽀持-->
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-web</artifactId>
</dependency>
<!--引入MySQL的依赖-->
<dependency>
<groupId>mysql</groupId>
<artifactId>mysql-connector-java</artifactId>
<version>5.1.38</version>
</dependency>
<!--引入mybatis整合springboot所使用的依赖-->
<dependency>
<groupId>org.mybatis.spring.boot</groupId>
<artifactId>mybatis-spring-boot-starter</artifactId>
<version>2.1.2</version>
</dependency>
<!--springboot连接数据库的驱动jar-->
<dependency>
<groupId>com.alibaba</groupId>
<artifactId>druid</artifactId>
<version>1.1.12</version>
</dependency>
</dependencies>
2.配置application.yml
# spring整合MyBatis配置 spring: datasource: type: com.alibaba.druid.pool.DruidDataSource #连接所使用的数据源 driver-class-name: com.mysql.jdbc.Driver #所使用的驱动类 url: jdbc:mysql://locahost:3306/mybatis1?charsetEncoding=UTF-8 username: root password: root # 配置mapper文件所在的包 mybatis: mapper-locations: classpath:com/wd/mapper/*.xml
application.java
//声明当前文件是一个springboot应用的入口类 @SpringBootApplication //修饰范围:用在类上 标识是springboot的入口类 这个注释只能出现一次 @MapperScan("com.wd.dao") //用来指定Dao接口所在的位置 public class Application { public static void main(String[] args) { //运行springboot的核心方式 SpringApplication.run(Application.class,args); } }
3.建表
在数据库中创建相应的表
4.键实体
在.java文件中引入数据库表中的字段,创建无参,有参构造函数和getter、setter、toString方法。
5.开发dao mapper文件
Userdao.java:定义实现的方法
public interface Userdao { List<user> findAllUser(); user findUserById(@Param("id") int id); }
mapper文件:编写方法的实现
<mapper namespace="com.wd.dao.Userdao">
<select id="findAllUser" resultType="com.wd.entity.user">
select * from t_user
</select>
<select id="findUserById" resultType="com.wd.entity.user">
select * from t_user where id=#{id}
</select>
</mapper>
6.开发service接口 开发service实现
service接口:定义要实现的业务功能接口
public interface UserService { List<user> findAllUser(); user findUserById(int id); }
serviceImpl:service接口的实现类,实现接口
@Service //代表在工厂中创建有个service对象 @Transactional //当前类是支持事务的 public class UserServiceImpl implements UserService{ @Resource private Userdao userDao; @Override public List<user> findAllUser() { return userDao.findAllUser(); } @Override public user findUserById(int id) { return userDao.findUserById(id); } }
7.开发controller
@RestController @RequestMapping("/user") public class usercontroller { @Resource private UserService userService; @RequestMapping("/users") public List<user> findUsers(){ System.out.println("************"); return userService.findAllUser(); } /** * 查询单个用户方法 * @return:单个用户对象 * @PathVaribale:代表接收路径中所包含的参数 */ @RequestMapping("/users/{id}") public user findUserById(@PathVariable("id") int id){ System.out.println("id="+ id); return userService.findUserById(id); } }
8.开发声明
1) @RestController:用在类中,声明当前是一个控制器,并且类种所有的方 法返回都是json,RestController=@Controller+@ResponseBody二者结合。
2)@RequestMapper("/user"):可以用在类上,也可以用在方法上;用在类上表示在当前类中所有的方法添加路径,用在方法上代表给当前方法添加路径。
3)以下代码表示:接收RequestMapping中所包含的参数
@RequestMapping("/users/{id}") public user findUserById(@PathVariable("id") int id){ }
本文来自博客园,作者:尔尔er,转载请注明原文链接:https://www.cnblogs.com/erer123/p/17310121.html

浙公网安备 33010602011771号