Spring Boot 整合Mybatis(步骤讲解) 附源码
来源:互联网 发布:英国工资 知乎 编辑:程序博客网 时间:2024/04/27 06:34
转载请标明出处:http://blog.csdn.net/a318199328/article/details/52248552
直接进入正题!!!!
新建Maven项目
新建项目后目录结构
新增目录结构src/main/resources
新增目录结构后的结构展示
新增包结构
在原pom.xml添加
<properties><project.build.sourceEncoding>UTF-8</project.build.sourceEncoding><version.spring>3.2.9.RELEASE</version.spring><version.jackson>2.4.4</version.jackson><java.version>1.8</java.version></properties> <parent><groupId>org.springframework.boot</groupId><artifactId>spring-boot-starter-parent</artifactId><version>1.2.5.RELEASE</version><relativePath /></parent> <dependencies><dependency><groupId>org.springframework.boot</groupId><artifactId>spring-boot-starter-web</artifactId></dependency><dependency><groupId>org.springframework.boot</groupId><artifactId>spring-boot-starter-thymeleaf</artifactId></dependency><dependency><groupId>org.springframework.boot</groupId><artifactId>spring-boot-starter-jdbc</artifactId></dependency><dependency><groupId>org.springframework.boot</groupId><artifactId>spring-boot-starter-actuator</artifactId></dependency> <dependency><groupId>org.mybatis</groupId><artifactId>mybatis-spring</artifactId><version>1.2.2</version></dependency><dependency><groupId>org.mybatis</groupId><artifactId>mybatis</artifactId><version>3.2.8</version></dependency><dependency><groupId>org.apache.tomcat</groupId><artifactId>tomcat-jdbc</artifactId></dependency><dependency><groupId>mysql</groupId><artifactId>mysql-connector-java</artifactId></dependency> <dependency><groupId>com.alibaba</groupId><artifactId>fastjson</artifactId><version>1.1.43</version></dependency><dependency><groupId>com.mangofactory</groupId><artifactId>swagger-springmvc</artifactId><version>0.9.5</version></dependency> <dependency><groupId>com.fasterxml.jackson.core</groupId><artifactId>jackson-annotations</artifactId></dependency><dependency><groupId>com.fasterxml.jackson.core</groupId><artifactId>jackson-databind</artifactId></dependency><dependency><groupId>com.fasterxml.jackson.core</groupId><artifactId>jackson-core</artifactId></dependency></dependencies> <build><plugins><plugin><groupId>org.springframework.boot</groupId><artifactId>spring-boot-maven-plugin</artifactId></plugin></plugins></build>
添加编译后有可能出现一下错误
解决方案:右键项目找到Maven选项,然后选择Upate Project
创建java文件
一.在com.cn.domain包中创建User实体类
public class User { private String name; private Integer age; private String password; public String getName() { return name; } public void setName(String name) { this.name = name; } public Integer getAge() { return age; } public void setAge(Integer age) { this.age = age; } public String getPassword() { return password; } public void setPassword(String password) { this.password = password; }}
二.在com.cn.mapper包中创建UserMapper类
import com.cn.domain.User; public interface UserMapper { public User findUserInfo(String id);}
三.在src/main/resources包中创建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.cn.mapper.UserMapper"> <select id="findUserInfo" resultType="com.cn.domain.User"> select name, age,password from user where uid = #{uid,jdbcType=INTEGER}; </select> </mapper>
四.在com.cn.service包中创建UserService
import org.springframework.beans.factory.annotation.Autowired;import org.springframework.stereotype.Service;import com.cn.domain.User;import com.cn.mapper.UserMapper; @Servicepublic class UserService { @Autowired private UserMapper userMapper; public User getUserInfo(String id){ User user=userMapper.findUserInfo(id); //User user=null; return user; } }
五.在com.cn.controller包中创建UserController 类(连接数据库)
import org.apache.log4j.Logger;import org.springframework.beans.factory.annotation.Autowired;import org.springframework.stereotype.Controller;import org.springframework.web.bind.annotation.RequestMapping;import org.springframework.web.bind.annotation.RequestParam;import org.springframework.web.bind.annotation.ResponseBody;import com.cn.domain.User;import com.cn.service.UserService; @Controllerpublic class UserController { private Logger logger = Logger.getLogger(UserController.class); @Autowired private UserService userService; @RequestMapping("/getUserInfo") @ResponseBody public User getUserInfo(@RequestParam("id") String id) { System.out.println(id); User user = userService.getUserInfo(id); if(user!=null){ System.out.println("user.getName():"+user.getName()); logger.info("user.getAge():"+user.getAge()); } return user; }}
六.在com.cn.servoce包中创建HelloController 类
import org.springframework.stereotype.Controller;import org.springframework.ui.Model;import org.springframework.web.bind.annotation.RequestMapping;import org.springframework.web.bind.annotation.RequestParam; @Controllerpublic class HelloController { @RequestMapping("/hello") public String greeting(@RequestParam(value="name", required=false, defaultValue="World") String name, Model model) { model.addAttribute("name", name); return "hello"; } }
七.在com.cn包中创建Application 类(运行类)
import org.apache.ibatis.session.SqlSessionFactory;import org.apache.log4j.Logger;import org.mybatis.spring.SqlSessionFactoryBean;import org.mybatis.spring.annotation.MapperScan;import org.springframework.boot.SpringApplication;import org.springframework.boot.autoconfigure.EnableAutoConfiguration;import org.springframework.boot.autoconfigure.SpringBootApplication;import org.springframework.boot.context.properties.ConfigurationProperties;import org.springframework.context.annotation.Bean;import org.springframework.context.annotation.ComponentScan;import org.springframework.core.io.support.PathMatchingResourcePatternResolver;import org.springframework.jdbc.datasource.DataSourceTransactionManager;import org.springframework.transaction.PlatformTransactionManager; import javax.sql.DataSource; @EnableAutoConfiguration@SpringBootApplication@ComponentScan@MapperScan("com.cn.mapper")//扫描mapper包下接口public class Application { private static Logger logger = Logger.getLogger(Application.class); @Bean @ConfigurationProperties(prefix="spring.datasource")//数据库中的配置前缀 public DataSource dataSource() { return new org.apache.tomcat.jdbc.pool.DataSource(); } @Bean public SqlSessionFactory sqlSessionFactoryBean() throws Exception { SqlSessionFactoryBean sqlSessionFactoryBean = new SqlSessionFactoryBean(); sqlSessionFactoryBean.setDataSource(dataSource()); PathMatchingResourcePatternResolver resolver = new PathMatchingResourcePatternResolver(); sqlSessionFactoryBean.setMapperLocations(resolver.getResources("classpath:/mybatis/*.xml"));//读取Mapper.xml return sqlSessionFactoryBean.getObject(); } @Bean public PlatformTransactionManager transactionManager() { return new DataSourceTransactionManager(dataSource()); } /** * Start */ public static void main(String[] args) { SpringApplication.run(Application.class, args); logger.info("SpringBoot Start Success"); } }
八.在src/main/resources创建application.properties(数据库配置)
spring.datasource.url=jdbc:mysql://127.0.0.1:3306/test?useUnicode=true&characterEncoding=gbk&zeroDateTimeBehavior=convertToNullspring.datasource.username=rootspring.datasource.password=123123spring.datasource.driver-class-name=com.mysql.jdbc.Driver
#保证没一行后面都不包含空格,否则报错
九.在src/main/resources创建log4j.properties(根据自己需要配置)
#config root loggerlog4j.rootLogger = INFO,system.outlog4j.appender.system.out=org.apache.log4j.ConsoleAppenderlog4j.appender.system.out.layout=org.apache.log4j.PatternLayoutlog4j.appender.system.out.layout.ConversionPattern=[Log] %5p[%F:%L]:%m%n #config this Project.file loggerlog4j.logger.thisProject.file=INFO,thisProject.file.outlog4j.appender.thisProject.file.out=org.apache.log4j.DailyRollingFileAppenderlog4j.appender.thisProject.file.out.File=logContentFile.loglog4j.appender.thisProject.file.out.layout=org.apache.log4j.PatternLayout
十.在src/main/resources创建templates(必须)返回页面目录,并在templates下创建hello.html
<!DOCTYPE HTML><html xmlns:th="http://www.thymeleaf.org"><head> <title>Getting Started: Serving Web Content</title> <meta http-equiv="Content-Type" content="text/html; charset=UTF-8" /></head><body> <p th:text="'Hello, ' + ${name} + '!'" /></body></html>
测试:运行Appliaction.java(右键Run As --> Java Appliaction),再不报错的情况下在浏览器输入:
http://localhost:8080/hello
http://localhost:8080/hello?name=xxx
http://localhost:8080/getUserInfo?id=1
实例下载:http://download.csdn.net/detail/a318199328/9607376
注:由于MyBatis属于一种半自动的ORM框架,所以主要的工作就是配置Mapping映射文件,但是由于手写映射文件很容易出错,所以可利用MyBatis生成器自动生成实体类、DAO接口和Mapping映射文件 Eclipse MyBatis Generator插件和使用说明
- Spring Boot 整合Mybatis(步骤讲解) 附源码
- Spring Boot整合MyBatis
- spring boot 整合mybatis
- Spring Boot整合MyBatis
- Spring-boot整合Mybatis
- Spring Boot整合MyBatis
- spring boot 整合mybatis
- Spring Boot整合Mybatis
- spring boot mybatis整合
- spring boot整合mybatis
- Spring Boot 整合 MyBatis
- spring-boot整合mybatis
- Spring Boot整合Mybatis
- Spring Boot 整合 MyBatis
- spring boot整合mybatis
- Spring Boot整合MyBatis
- spring boot整合mybatis
- spring Boot整合mybatis
- 后缀数组 倍增算法模板
- 斯坦福人工智能突破:结构递归神经网络用于 时空领域图像中的深度学习
- PAT-B 1001 害死人不偿命的(3n+1)猜想 (15)
- html 标签
- java集合中对象某属性比较排序Comparable与Comparator
- Spring Boot 整合Mybatis(步骤讲解) 附源码
- 调节系统声音最大,听筒和扬声器启动
- 相思果——云田一品
- Android 判断是否有网及无网处理
- 数据结构实验之排序五:归并求逆序数 sdut oj 3402
- HDU 1686 裸KMP
- C#让Console控制台程序在最顶层TopMost
- 我的裁员经历
- ADB WIFI 免ROOT(亲测)