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配置 完成。

猜你喜欢

转载自blog.csdn.net/chenpuzhen/article/details/80521034