重庆网站建设找承越,网站 购买,高端品牌网站建设策略,不在百度做推广他会把你的网站排名弄掉MyBatis是一个SQL映射框架#xff0c;支持自定义SQL#xff0c;存储过程和高级映射。 SpringBoot不为MyBatis集成提供官方支持#xff0c;但MyBatis社区为MyBatis构建了SpringBoot入门程序。 您可以在http://blog.mybatis.org/2015/11/mybatis-spring-boot-released.html上… MyBatis是一个SQL映射框架支持自定义SQL存储过程和高级映射。 SpringBoot不为MyBatis集成提供官方支持但MyBatis社区为MyBatis构建了SpringBoot入门程序。 您可以在http://blog.mybatis.org/2015/11/mybatis-spring-boot-released.html上了解有关SpringBoot MyBatis Starter发行公告的信息还可以在GitHub https://github.com上探索源代码。 / mybatis / mybatis-spring-boot 。 创建一个SpringBoot Maven项目并添加以下MyBatis Starter依赖项。 dependencygroupIdorg.mybatis.spring.boot/groupIdartifactIdmybatis-spring-boot-starter/artifactIdversion1.0.0/version
/dependency 我们将重用在上一篇文章SpringBoot中创建的User.javaschema.sql和data.sql文件使用JdbcTemplate 用很少的数据库操作创建MyBatis SQL Mapper接口UserMapper.java 如下所示 package com.sivalabs.demo.domain;public interface UserMapper
{void insertUser(User user);User findUserById(Integer id);ListUser findAllUsers();
} 我们需要创建Mapper XML文件来为对应的Mapper接口方法定义对映射的SQL语句的查询。 在src / main / resources / com / sivalabs / demo / mappers /目录中创建UserMapper.xml文件如下所示 !DOCTYPE mapperPUBLIC -//mybatis.org//DTD Mapper 3.0//ENhttp://mybatis.org/dtd/mybatis-3-mapper.dtdmapper namespacecom.sivalabs.demo.mappers.UserMapperresultMap idUserResultMap typeUserid columnid propertyid /result columnname propertyname /result columnemail propertyemail //resultMapselect idfindAllUsers resultMapUserResultMapselect id, name, email from users/selectselect idfindUserById resultMapUserResultMapselect id, name, email from users WHERE id#{id}/selectinsert idinsertUser parameterTypeUser useGeneratedKeystrue keyPropertyidinsert into users(name,email) values(#{name},#{email})/insert
/mapper 这里要观察的几件事是 Mapper XML中的命名空间应与Mapper接口的完全限定名称FQN相同 语句ID值应与Mapper接口方法名称相同。 如果查询结果列名称与bean属性名称不同则可以使用resultMap配置在列名称及其对应的bean属性名称之间提供映射。 MyBatis还提供基于注释的查询配置而无需Mapper XML。 我们可以创建UserMapper.java接口并使用注释配置映射的SQL如下所示 public interface UserMapper
{Insert(insert into users(name,email) values(#{name},#{email}))SelectKey(statementcall identity(), keyPropertyid,beforefalse, resultTypeInteger.class)void insertUser(User user);Select(select id, name, email from users WHERE id#{id})User findUserById(Integer id);Select(select id, name, email from users)ListUser findAllUsers();} SpringBoot MyBatis入门程序提供以下MyBatis配置参数我们可以使用这些参数自定义MyBatis设置。 mybatis.config mybatis config file name
mybatis.mapperLocations mappers file locations
mybatis.typeAliasesPackage domain objects package
mybatis.typeHandlersPackage handlers package
mybatis.check-config-location check the mybatis configuration exists
mybatis.executorType mode of execution. Default is SIMPLE 在application.properties中配置typeAliasesPackage和mapperLocations 。 mybatis.typeAliasesPackagecom.sivalabs.demo.domain
mybatis.mapperLocationsclasspath*:**/mappers/*.xml 创建入口点类SpringbootMyBatisDemoApplication.java。 SpringBootApplication
MapperScan(com.sivalabs.demo.mappers)
public class SpringbootMyBatisDemoApplication
{public static void main(String[] args){SpringApplication.run(SpringbootMyBatisDemoApplication.class, args);}
} 观察到我们已经使用MapperScan“ com.sivalabs.demo.mappers”批注指定在何处查找Mapper接口。 现在创建一个JUnit测试类并测试我们的UserMapper方法。 RunWith(SpringJUnit4ClassRunner.class)
SpringApplicationConfiguration(SpringbootMyBatisDemoApplication.class)
public class SpringbootMyBatisDemoApplicationTests
{Autowiredprivate UserMapper userMapper;Testpublic void findAllUsers() {ListUser users userMapper.findAllUsers();assertNotNull(users);assertTrue(!users.isEmpty());}Testpublic void findUserById() {User user userMapper.findUserById(1);assertNotNull(user);}Testpublic void createUser() {User user new User(0, Siva, sivagmail.com);userMapper.insertUser(user);User newUser userMapper.findUserById(user.getId());assertEquals(Siva, newUser.getName());assertEquals(sivagmail.com, newUser.getEmail());}
} 您可以在http://blog.mybatis.org/p/products.html上了解有关MyBatis和Spring集成的更多信息并 http://www.mybatis.org/spring/ 。 翻译自: https://www.javacodegeeks.com/2016/03/springboot-working-mybatis.html