内容简介:Spring Boot入门及整合mybatis
Spring Boot入门
Spring Boot是由Pivotal团队提供的全新框架,其设计目的是用来简化新Spring应用的初始搭建以及开发过程。该框架使用了特定的方式来进行配置,从而使开发人员不再需要定义样板化的配置,使用Spring Boot可以大大的提供软件的开发效率。
1. 创建独立的Spring应用程序
2. 嵌入的Tomcat,无需部署WAR文件
3. 简化Maven配置
4. 自动配置Spring
5. 提供生产就绪型功能,如指标,健康检查和外部配置
6. 绝对没有代码生成和对XML没有要求配置
Spring Boot实例
首先依次选择New->Spring starter project创建spring boot 项目。
点击Next,选择spring boot的版本,这里选择1.5.9 版本,选择starter,通过搜索找到web 并勾选,点击完成即可。
项目结构说明
创建好的项目,结构如下:
- Src/main/java。编写代码存放的目录,自动生成了程序入口代码 SpringBootDemo1Application.java。
- Src/main/resources。资源文件存放目录,自动生成了配置文件 application.properties
- Src/test/java。测试代码存放目录,自动生成了测试代码SpringBootDemo1ApplicationTests.java
pom文件简介
spring boot项目默认使用maven来构建,其中spring boot依赖的部分配置如下:
<dependency> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter-web</artifactId> <version>1.5.9.RELEASE</version> </dependency>
引入web依赖
Web starter依赖引入,会增加web容器、springweb、springmvc、jackson-databind等相关的依赖。
<dependency> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter-web</artifactId> </dependency>
它们的依赖层级关系如图:
引入测试依赖
<dependency> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter-test</artifactId> <scope>test</scope> </dependency>
启动程序入口说明
创建SpringBoot项目时,系统会默认生成一个启动程序,该类使用main函数来启动spring boot程序。例如:SpringBootDemoApplication代码
@SpringBootApplication public class SpringBootDemoApplication { public static void main(String[] args) { SpringApplication.run(SpringBootDemoApplication.class, args); } }
增加controller
然后在与SpringBootDemoApplication同级的包下新建一个controller。
public class DemoController { @RequestMapping("/") String home() { return "Hello World!"; } }
启动SpringBootDemoApplication
在SpringBootDemoApplication文件上右键选择run as->Spring Boot App即可启动项目。
在浏览器中输入: http://localhost:8080/ 即可访问。
application.properties
打开项目src目录下的resources文件,会发现一个application.properties文件,该文件是spring boot系统配置文件。例如:
server: port: 8080 context-path: / spring: datasource: driver-class-name: com.mysql.jdbc.Driver url: jdbc:mysql://localhost:3306/db_demo username: root password: xxxx jpa: hibernate.ddl-auto: update show-sql: true thymeleaf: cache: false
整合mybatis
其实使用IDE工具可以直接添加mybatis相关的依赖,此次使用pom文件的方式来实现。打开pom文件,在pom.xml中添加如下依赖:
<!-- mybatisjar --> <dependency> <groupId>org.mybatis.spring.boot</groupId> <artifactId>mybatis-spring-boot-starter</artifactId <version>1.3.1</version> </dependency> <!-- mysql连接jar --> <dependency> <groupId>mysql</groupId> <artifactId>mysql-connector-java</artifactId> <version>5.1.40</version> </dependency>
在application.properties 文件下 添加 mysql 的连接配置(切记不要在行尾留有空格,否则报com.mysql.jdbc.Driver Class Not Found error,其实只是含有空格导致找不到类)。
然后,在项目的src目录下新建一个User类.
public class User { private Integer id; private String name; private Integer age; //省略get和set }
添加UserMapper接口:
@Mapper public interface UserMapper { // 通过Parameter新增 @Insert("INSERT INTO USER(NAME, AGE) VALUES(#{name}, #{age})") int insertByParameter(@Param("name") String name, @Param("age") Integer age); // 通过Map新增 @Insert("INSERT INTO USER(NAME, AGE) VALUES(#{name,jdbcType=VARCHAR}, #{age,jdbcType=INTEGER})") int insertByMap(Map<String, Object> map); // 通过Object新增 @Insert("INSERT INTO USER(NAME, AGE) VALUES(#{name}, #{age})") int insertByObject(User user); // Delete By Id @Delete("DELETE FROM user WHERE id =#{id}") void delete(Long id); // Update @Update("UPDATE user SET age=#{age} WHERE name=#{name}") void update(User user); // Find by Parameter @Select("SELECT * FROM USER WHERE NAME = #{name}") User findByName(@Param("name") String name); // 通过@Results,绑定返回值 @Results({ @Result(property = "name", column = "name"), @Result(property = "age", column = "age") }) @Select("SELECT name, age FROM user") List<User> findAll(); }
最后是协议个测试文件:
@RunWith(SpringRunner.class) @SpringBootTest public class SpringbootApplicationTests { @Autowired private UserMapper userMapper; @Test public void add() throws Exception { // insert by parameter userMapper.insertByParameter("zhangShan", 20); // insert by object User user = new User(); user.setAge(21); user.setName("LiSi"); userMapper.insertByObject(user); // insert by map Map<String, Object> map = new HashMap<>(); map.put("name", "huangwu"); map.put("age", 22); userMapper.insertByMap(map); User zhangShan = userMapper.findByName("zhangShan"); Assert.assertEquals(20, zhangShan.getAge().intValue()); User LiSi = userMapper.findByName("LiSi"); Assert.assertEquals(21, LiSi.getAge().intValue()); User huangwu = userMapper.findByName("huangwu"); Assert.assertEquals(22, huangwu.getAge().intValue()); } @Test public void udpate() throws Exception { User user = userMapper.findByName("zhangShan"); user.setAge(50); userMapper.update(user); user = userMapper.findByName("zhangShan"); Assert.assertEquals(50, user.getAge().intValue()); userMapper.delete(user.getId()); } @Test public void findAll() throws Exception { List<User> users = userMapper.findAll(); Assert.assertNotNull(users); } }
以上所述就是小编给大家介绍的《Spring Boot入门及整合mybatis》,希望对大家有所帮助,如果大家有任何疑问请给我留言,小编会及时回复大家的。在此也非常感谢大家对 码农网 的支持!
猜你喜欢:- SpringBoot整合RabbitMQ(一)快速入门
- Spring Boot从入门到实战:整合Web项目常用功能
- SpringBoot2 整合Nacos组件,环境搭建和入门案例详解
- Spring Boot2从入门到实战:整合Web项目常用功能
- Spring Boot从入门到实战:整合通用Mapper简化单表操作
- Spring Boot2从入门到实战:整合通用Mapper简化单表操作
本站部分资源来源于网络,本站转载出于传递更多信息之目的,版权归原作者或者来源机构所有,如转载稿涉及版权问题,请联系我们。
民事诉讼程序研究
乔罗威茨 / 吴泽勇 / 2008-6 / 40.00元
《民事诉讼程序研究》共分为诉讼程式;扩散利益、分散利益和集体利益的保护;程式样式;当事人与法官;对判決的救济;程式改革。主要內容包括:民事诉讼;英美民事诉讼程式在20世纪的若干发展;论民事诉讼法的本质和目的等。一起来看看 《民事诉讼程序研究》 这本书的介绍吧!