公司网站建设办法,软件开发商是什么意思,网站建设及报价,广告设计网址Spring Boot是由Pivotal团队提供的全新框架#xff0c;其设计目的是用来简化新Spring应用的初始搭建以及开发过程。该框架使用了特定的方式来进行配置#xff0c;从而使开发人员不再需要定义样板化的配置。通过这种方式#xff0c;Spring Boot致力于在蓬勃发展的快速应用开发… Spring Boot是由Pivotal团队提供的全新框架其设计目的是用来简化新Spring应用的初始搭建以及开发过程。该框架使用了特定的方式来进行配置从而使开发人员不再需要定义样板化的配置。通过这种方式Spring Boot致力于在蓬勃发展的快速应用开发领域(rapid application development)成为领导者。 MyBatis 是一款优秀的持久层框架它支持定制化 SQL、存储过程以及高级映射。MyBatis 避免了几乎所有的 JDBC 代码和手动设置参数以及获取结果集。MyBatis 可以使用简单的 XML 或注解来配置和映射原生信息将接口和 Java 的 POJOs(Plain Ordinary Java Object,普通的 Java对象)映射成数据库中的记录。 以下是Spring Boot整合MyBatis的详细教程包含完整的代码示例。
1、创建一个Spring Boot项目
首先我们需要创建一个Spring Boot项目。打开IDE推荐使用IntelliJ IDEA选择New Project然后选择Spring Initializr根据需要填写必要的信息例如Group、Artifact、Dependencies等最后确认创建项目。
2、添加必要的依赖关系
在pom.xml文件中添加以下依赖关系以集成MyBatis框架
dependenciesdependencygroupIdorg.springframework.boot/groupIdartifactIdspring-boot-starter-web/artifactId/dependencydependencygroupIdorg.mybatis.spring.boot/groupIdartifactIdmybatis-spring-boot-starter/artifactIdversion2.1.0/version/dependencydependencygroupIdcom.h2database/groupIdartifactIdh2/artifactIdversion1.4.195/versionscoperuntime/scope /dependency/dependencies其中spring-boot-starter-web 表示 Spring Boot 的 Web 开发起始依赖包mybatis-spring-boot-starter 是 MyBatis 官方提供的集成 Spring Boot 的起步依赖包h2 是一个内存数据库可以用作我们测试环境的数据库。
3、创建实体类和Mapper接口
在 src/main/java 下创建一个名为 com.example.demo.domain 的包这个包存放的是实体类。下面是一个简单的User实体类
public class User {private Long id;private String username;private String password;// 省略setter和getter方法
}接下来我们需要定义一个Mapper接口来操作 User 实体类。在 src/main/java 下创建一个名为 com.example.demo.mapper 的包然后创建一个名为 UserMapper 的接口
public interface UserMapper {User findByUsername(String username);void save(User user);
}4、创建Mapper映射文件
在 src/main/resources/mapper 下创建一个名为 UserMapper.xml 的文件用于定义SQL语句。下面是一个简单的UserMapper.xml文件
?xml version1.0 encodingUTF-8?
!DOCTYPE mapper PUBLIC -//mybatis.org//DTD Mapper 3.0//EN http://mybatis.org/dtd/mybatis-3-mapper.dtdmapper namespacecom.example.demo.mapper.UserMapperresultMap idBaseResultMap typecom.example.demo.domain.Userid columnid propertyid jdbcTypeBIGINT /result columnusername propertyusername jdbcTypeVARCHAR /result columnpassword propertypassword jdbcTypeVARCHAR //resultMapselect idfindByUsername resultMapBaseResultMapSELECT * FROM users WHERE username #{username}/selectinsert idsave useGeneratedKeystrue keyPropertyidINSERT INTO users (username, password) VALUES (#{username}, #{password})/insert/mapper5、编写服务层的代码
创建服务层来实现业务逻辑。在src/main/java 下创建一个名为 com.example.demo.service 的包然后创建一个名为 UserService 的接口
public interface UserService {User findByUsername(String username);void save(User user);
}接下来创建 UserServiceImpl 类实现 UserService 接口
Service
public class UserServiceImpl implements UserService {Autowiredprivate UserMapper userMapper;Overridepublic User findByUsername(String username) {return userMapper.findByUsername(username);}Overridepublic void save(User user) {userMapper.save(user);}}6、创建控制器层的代码
在src/main/java 下创建一个名为 com.example.demo.controller 的包然后创建一个名为 UserController 的类
RestController
public class UserController {Autowiredprivate UserService userService;RequestMapping(value /findUser)public User findUser(HttpServletRequest request) {String username request.getParameter(username);return userService.findByUsername(username);}RequestMapping(value /saveUser)public String saveUser(HttpServletRequest request) {String username request.getParameter(username);String password request.getParameter(password);User user new User();user.setUsername(username);user.setPassword(password);userService.save(user);return SUCCESS;}}7、修改配置文件
在 src/main/resources 下创建一个名为 application.properties 的文件。添加以下属性
spring.datasource.driverClassNameorg.h2.Driver
spring.datasource.urljdbc:h2:mem:testdb
spring.datasource.usernamesa
spring.datasource.passwordmybatis.configuration.map-underscore-to-camel-casetrue
mybatis.mapper-locationsclasspath:mapper/*.xml这个文件用于配置一些参数并将 MyBatis 的映射配置文件放在mapper文件夹中。
至此我们已经完成了 Spring Boot 整合 MyBatis 框架的所有步骤。
最后附上完整代码
完整代码
User.java
public class User {private Long id;private String username;private String password;// 省略setter和getter方法
}UserMapper.java
public interface UserMapper {User findByUsername(String username);void save(User user);
}UserMapper.xml
?xml version1.0 encodingUTF-8?
!DOCTYPE mapper PUBLIC -//mybatis.org//DTD Mapper 3.0//EN http://mybatis.org/dtd/mybatis-3-mapper.dtdmapper namespacecom.example.demo.mapper.UserMapperresultMap idBaseResultMap typecom.example.demo.domain.Userid columnid propertyid jdbcTypeBIGINT /result columnusername propertyusername jdbcTypeVARCHAR /result columnpassword propertypassword jdbcTypeVARCHAR //resultMapselect idfindByUsername resultMapBaseResultMapSELECT * FROM users WHERE username #{username}/selectinsert idsave useGeneratedKeystrue keyPropertyidINSERT INTO users (username, password) VALUES (#{username}, #{password})/insert/mapperUserServiceImpl.java
Service
public class UserServiceImpl implements UserService {Autowiredprivate UserMapper userMapper;Overridepublic User findByUsername(String username) {return userMapper.findByUsername(username);}Overridepublic void save(User user) {userMapper.save(user);}}UserController.java
RestController
public class UserController {Autowiredprivate UserService userService;RequestMapping(value /findUser)public User findUser(HttpServletRequest request) {String username request.getParameter(username);return userService.findByUsername(username);}RequestMapping(value /saveUser)public String saveUser(HttpServletRequest request) {String username request.getParameter(username);String password request.getParameter(password);User user new User();user.setUsername(username);user.setPassword(password);userService.save(user);return SUCCESS;}}application.properties
spring.datasource.driverClassNameorg.h2.Driver
spring.datasource.urljdbc:h2:mem:testdb
spring.datasource.usernameroot
spring.datasource.password123456mybatis.configuration.map-underscore-to-camel-casetrue
mybatis.mapper-locationsclasspath:mapper/*.xml希望这个教程可以帮助到你