Spring Boot搭建spring+springMVC+Mybatis简单Demo
来源:互联网 发布:python turtle 坐标 编辑:程序博客网 时间:2024/06/16 07:53
Spring Boot搭建spring+springMVC+Mybatis简单Demo
本篇博客主要讲述如何利用Spring Boot框架快速搭建spring+springMVC+Mybatis简单Demo。网上关于这块的demo,blog都很多,比较杂乱。于是就准备自己亲自踩下坑了。
使用Spring Initialzr
- 利用Spring Initialzr引导程序快速搭建一个Maven项目
- 官方地址:http://start.spring.io/(貌似要翻墙…)
把Group、Artifact还有我们需要的依赖填好,就可以导出我们需要的项目了。
pom.xml
导出来的Demo中的pom.xml
长这个样子:
<?xml version="1.0" encoding="UTF-8"?><project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd"> <modelVersion>4.0.0</modelVersion> <groupId>com.example</groupId> <artifactId>demo</artifactId> <version>0.0.1-SNAPSHOT</version> <packaging>jar</packaging> <name>demo</name> <description>Demo project for Spring Boot</description> <parent> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter-parent</artifactId> <version>1.5.3.RELEASE</version> <relativePath/> <!-- lookup parent from repository --> </parent> <properties> <project.build.sourceEncoding>UTF-8</project.build.sourceEncoding> <project.reporting.outputEncoding>UTF-8</project.reporting.outputEncoding> <java.version>1.8</java.version> </properties> <dependencies> <dependency> <groupId>org.mybatis.spring.boot</groupId> <artifactId>mybatis-spring-boot-starter</artifactId> <version>1.3.0</version> </dependency> <dependency> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter-web</artifactId> </dependency> <dependency> <groupId>mysql</groupId> <artifactId>mysql-connector-java</artifactId> <scope>runtime</scope> </dependency> <dependency> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter-test</artifactId> <scope>test</scope> </dependency> </dependencies> <build> <plugins> <plugin> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-maven-plugin</artifactId> </plugin> </plugins> <finalName>cett</finalName> <resources> <resource> <directory>src/main/java</directory> <includes> <include>**/*.xml</include> </includes> <filtering>false</filtering> </resource> <resource> <directory>src/main/resources</directory> <includes> <include>**/*.*</include> </includes> <filtering>false</filtering> </resource> </resources> </build></project>
配置mysql连接配置
在application.properties
中完成相关配置
spring.datasource.url=jdbc:mysql://127.0.0.1:3306/cett?autoReconnect=true&useUnicode=true&characterEncoding=utf8&useSSL=truespring.datasource.username=rootspring.datasource.password=rootspring.datasource.driver=com.mysql.jdbc.Driver
使用Mybatis
- 在Mysql中创建User表,包含id(VARCHAR(40))、name(VARCHAR(255))。同时,创建映射实体User
public class User { public User(){} private String id; private String name; public String getId() { return id; } public void setId(String id) { this.id = id; } public String getName() { return name; } public void setName(String name) { this.name = name; }}
- 创建User映射的操作UserMapper
@Repository@Mapperpublic interface UserMapper { User findUserById(@Param("id") String id); List<User> findAllUser(); int saveUser(User user); @Delete("delete from t_account where c_id = #{id}") void deleteUserById(@Param("id") String id); void updateUser(User user);}
一定要加上@Repository
这个注解,不然会报错。
配置sql语句有两种方式:注解和xml文件。xml文件要与映射器名字相同。
- 在相同目录下创建
UserMapper.xml
<?xml version="1.0" encoding="UTF-8" ?><!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd" ><mapper namespace="com.csdc.cett.mapper.UserMapper"> <resultMap id="userInfo" type="com.csdc.cett.model.entity.User"> <id property="id" column="c_id"/> <result property="name" column="c_name"/> </resultMap> <select id="findUserById" resultMap="userInfo" parameterType="java.lang.String"> SELECT * FROM t_user WHERE c_id = #{id} </select> <select id="findAllUser" resultMap="userInfo"> SELECT * FROM t_user WHERE 1 = 1 </select> <insert id="saveUser" parameterType="com.csdc.cett.model.entity.User"> <--生成主键id值--> <selectKey keyProperty="id" order="BEFORE" resultType="java.lang.String"> SELECT UUID() </selectKey> insert into t_user(c_id, c_name) values (#{id}, #{name}) </insert> <update id="updateUser"> UPDATE t_user SET c_name = #{name} WHERE c_id = #{id} </update></mapper>
- 创建Spring Boot主类
@SpringBootApplication@MapperScan("com.csdc.cett.mapper")public class CettApplication extends SpringBootServletInitializer { public static void main(String[] args) throws Exception { SpringApplication.run(CettApplication.class, args); }}
@MapperScan("com.csdc.cett.mapper")
这个注解是用来告诉Mybatis 映射文件的路径,不然在Service
层使用@Autowire
注解调用的时候会报错。
Service
调用映射器
@Servicepublic class UserService implements Serializable{ @Autowired private UserMapper userMapper; //保存账号 @Transactional(isolation = Isolation.READ_COMMITTED) public int saveUser(User user){ return userMapper.saveUser(user); } //通过id获取账号 @Transactional(isolation = Isolation.READ_COMMITTED) public User findUserById(String id){ return userMapper.findUserById(id); } //删除账号 @Transactional(isolation = Isolation.READ_COMMITTED) public void deleteUserById(String id){ userMapper.deleteUserById(id); } //更新账号 @Transactional(isolation = Isolation.READ_COMMITTED) public void updateUser(User user){ userMapper.updateUser(user); } public List<User> getAllUsers(){ return userMapper.findAllUser(); }}
Note
本人用的是IDEA,如果把映射器的xml文件放在java包下,IDEA是不会把它加载成资源文件的。所以要在pom.xml
文件里加入以下代码:
<resources> <resource> <directory>src/main/java</directory> <includes> <include>**/*.xml</include> </includes> <filtering>false</filtering> </resource> <resource> <directory>src/main/resources</directory> <includes> <include>**/*.*</include> </includes> <filtering>false</filtering> </resource> </resources>
至此,用Spring Boot搭建spring+springMVC+Mybatis简单Demo就讲解完啦。
2 0
- Spring Boot搭建spring+springMVC+Mybatis简单Demo
- spring-boot-mybatis-demo
- Spring Boot+Mybatis 入门Demo
- SpringMVC+Spring+MyBatis的demo
- springMVC+mybatis+spring整合 demo
- springmvc + spring + mybatis 整合 demo
- 快速搭建Spring-boot Demo
- SpringMvc easyUi Mybatis Spring , demo简单的例子
- Spring Boot+Mybatis的搭建
- 搭建SpringMVC+Spring+MyBatis过程
- SpringMVC+Spring+MyBatis搭建过程
- springMVC+Spring+Mybatis框架搭建
- spring+springMVC+mybatis框架搭建
- Spring+SpringMVC+myBatis环境搭建
- Spring+mybatis+springMVC项目搭建
- Spring+SpringMVC+Mybatis框架搭建
- Spring+SpringMVC+MyBatis框架搭建
- springmvc+spring+mybatis框架搭建
- Redis学习系列——Redis安装
- Problem A: 时间类的构造和输出
- angular-单页面多行数据展示-自定义命名-ui-view
- Problem B: 时间类的成员读写
- linux_2-LDAP网络用户账户
- Spring Boot搭建spring+springMVC+Mybatis简单Demo
- 如何优雅的“编写”api接口文档
- PAT-A-1024. Palindromic Number (25)
- Problem C: 时间类的输入
- 内存页替换算法C++
- LeetCode121. Best Time to Buy and Sell Stock题解
- Problem D: 时间类的拷贝和整体读写
- System的identityHashCode()
- 【qscoj】哗啦啦村的刁难(5)(找规律)