spring-boot项目搭建二(集成mybatis)
上一篇最基本的spring-boot项目已经OK,这是我们和数据库连接,集成mybatis
连接数据库首先将连接的配置信息写入配置文件application.properties中,至于具体配置哪些字段,可以直接百度,上面会有很多,我附上我填写的信息,仅供参考,如下图:
上图红色字体属于报错地方,因为我还没有引入对应的jar包,所以报错提示了,第一个字段type的值可以是其他的,这里用的是阿里巴巴数据库连接池,看你项目用的哪个了。接下来在pom.xml中引入jar包;ps:如果不知道引入什么jar包,可以百度他们对应的是哪个jar包,引入jar包如图:
成功引入后,配置 文件中红体字已经没有了,说明OK了。
接下来我们完成一个简单的用户查询功能,以常规的项目三层架构模式,我们创建对应包:controller,service,impl,dao如下图:
上图可以看到我们还添加了一个userMap.xml文件,这个是dao层里操作数据库的真正实现方法,dao层里面只是接口(ps:@mapper注解中可以在dao层里通过注解直接写sql语句,而不用再写xml映射文件,因为我习惯了xml文件,所以我还是用这个方法,看个人喜好吧,至于如何使用注解,百度上也有,此处不再说明),
如果你完全按照我的步骤进行的,写xml的时候,会有个报错信息
我标记的地方会红色显示,还是因为我们还未引入mybatis的jar包,此处我们引入spring-boot集成的mybatis的jar,
到此还剩最后一个问题,就是这个 xml没有和代码关联起来,这还只是个独立的文件,和 我们的项目毫无关系,我们需要在配置文件application.propertites 中将其引入进来
配置 已经全部OK,下面给出我的java代码
controller:
@RestController public class MybatisTestController { @Autowired UserCenter userService; @RequestMapping("mybatisTest") public List test(){ return userService.selectUser(); } }
service:
public interface UserCenter {
List selectUser();
}
dao:
public interface UserCenter {
List selectUser();
}
impl:
@Service public class UserCenterImpl implements UserCenter { @Autowired UserDao dao; @Override public List selectUser() { return dao.selectUser(); } }
xml的映射内容已经在上面截图,因为是测试,所以ID写死了,只为看个结果,xml的namespace千万不能错,否则查找不到,我图中是空,后来我补上了。
启动项目,看是否顺利,反正我的报错了,信息如 下:
找不到 UserDao这个bean,确实我们此前并未对这个类进行任何如@servce,@controller,@compment这样的注解,自然不会有bean,解决这个问题的方法有两种:
第一种,在这个类上添加注解@Mapper
这样就不会报错了,如果实际开发中dao类过多,每个都要添加就很麻烦,那么我就可以采取另一个 方式
第二种:在程序入口类添加注解:@MapperScan(basePackages={"包路径"})
这样同一个包下的类都会扫描到,如果是多个包的,也可添加个多,中间以逗号隔开,@MapperScan(basePackages={"包路径",“包路径2”})
启动,在浏览器访问一下
OK,mybatis配置 完成。