当前位置: 首页 > 后端技术 > Python

Spring和Mybatis两大流行框架如何整合?

时间:2023-03-25 22:34:35 Python

集成新建maven项目引入依赖包配置资源文件案例实践新建maven项目新建maven项目spring_mybatis目录结构如下:主目录包:com.xxx.dao、com.xxx.mapper、com.xxx.service、com.xxx.service.impl测试包:spring_mybatis引入依赖包打开pom.xml开始添加依赖包4.0.0com.xxxtest-xxxms1.0-SNAPSHOTtest-xxxmshttp://www.example.comUTF-81.71.7junitjunit4.11testorg.springframeworkspring-context4.3.2.RELEASEorg.springframeworkspring-test4.3.2.RELEASEorg.springframeworkspring-jdbc4.3.2.RELEASEorg.springframeworkspring-tx4.3.2.RELEASEc3p0c3p00.9.1.2org.mybatismybatis3.4.1org.mybatismybatis-spring1.3.0mysqlmysql-connector-java5.1.39org.slf4jslf4j-log4j121.7.2org.slf4jslf4j-api1.7.2tpl-websrc/main/java*/.xmlsrc/main/resources*/.xml*/.properties配置资源文件a)Spring文件spring.xmlb)Mybatis文件mybatis.xmlc)数据库连接属性文件db.propertiesd)日志输出文件log4j.propertiesspring.xml文件配置<属性名称="用户"value="${jdbc.user}">mybatis.xml文件配置db.properties文件配置(对于其他数据源属性配置,见c3p0配置说明,这里使用默认属性配置)创建数据库mybatis(注意数据库、用户名、密码以自己本地数据库为准)jdbc.driver=com.mysql。jdbc.Driverjdbc.url=jdbc:mysql://localhost:3306/mybatis?useUnicode=true&characterEncoding=utf8jdbc.username=rootjdbc.password=log4j.properties方便控制台日志输出全局日志配置log4j.rootLogger=调试,标准输出鞋底输出。..log4j.appender.stdout=org.apache.log4j.ConsoleAppenderlog4j.appender.stdout.layout=org.apache.log4j.PatternLayoutlog4j.appender.stdout.layout.ConversionPattern=%5p[%t]-%m%n扩展开始写helloworldUser实体类定义publicclassUser{privateintid;privateString用户名;privateString用户密码;publicintgetId(){返回id;}publicvoidsetId(intid){this.id=id;}publicStringgetUserName(){返回用户名;}publicvoidsetUserName(StringuserName){this.userName=userName;}publicStringgetUserPwd(){返回用户密码;}publicvoidsetUserPwd(StringuserPwd){this.userPwd=userPwd;}@OverridepublicStringtoString(){return"User[id="+id+",userName="+userName+",userPwd="userPwd+"]";}}UseDao接口和映射文件定义UserDaointerfacepublicinterfaceUserDao{publicUserqueryUserById(intid);}UserMapper.xml(注:此时映射文件的命名空间定义必须符合规则:接口包名.接口类名,否则不按规则打卡,测试会报错错误,然后你会感到困惑!!!)selectid,userName,userPwdfromuserwhereid=#{id}UserService接口类和实现类定义publicinterfaceUserService{publicUserqueryUserById();}UserServiceImpl实现类(此时直接注入我们的UserDao接口即可,然后直接调用它的方法,到此结束,离成功只差一步!)@ServicepublicclassUserServiceImplimplementsUserService{@ResourceprivateUserDaouserDao;publicUserqueryUserById(){returnuserDao.queryUserById(7);}}junit测试因为集成了spring框架,所以我们使用spring框架测试springTest@RunWith(SpringJUnit4ClassRunner.class)@ContextConfiguration(locations={"classpath:spring.xml"})publicclassTestSpringMybatis{@AutowiredprivateUserServiceuserService;@TestpublicvoidtestQueryUserById(){System.out.println(userService.queryUserById(1));}}结果输出