springboot mybatis 整合
新建项目在上一篇.
第二步:创建表和相应的实体类

实体类:user.java
package com.qtt.im.entity;
import java.io.Serializable;
public class User implements Serializable {
private Long id;
private String loginName;
private String pass;
private String mobile;
private String email;
private String name;
public Long getId() {
return id;
}
public void setId(Long id) {
this.id = id;
}
public String getLoginName() {
return loginName;
}
public void setLoginName(String loginName) {
this.loginName = loginName;
}
public String getPass() {
return pass;
}
public void setPass(String pass) {
this.pass = pass;
}
public String getMobile() {
return mobile;
}
public void setMobile(String mobile) {
this.mobile = mobile;
}
public String getEmail() {
return email;
}
public void setEmail(String email) {
this.email = email;
}
public String getName() {
return name;
}
public void setName(String name) {
this.name = name;
}
}
第三步:创建写mapper接口,Service,controller
以一个查询为例:
UserMapper.java(此接口用于xml文件和service之间的连接)
package com.qtt.im.mapper; import com.qtt.im.entity.User;
import org.apache.ibatis.annotations.Mapper; @Mapper
public interface UserMapper { public User getUserList();
}
UserService.java
package com.qtt.im.service;
import com.qtt.im.entity.User;
public interface UserService {
public User getUserList();
}
UserServiceImpl.java(usermapper会报错,但是不影响运行)
package com.qtt.im.service.impl; import com.qtt.im.entity.User;
import com.qtt.im.mapper.UserMapper;
import com.qtt.im.service.UserService;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service; @Service
public class UserServiceImpl implements UserService {
@Autowired
private UserMapper usermapper;
public User getUserList() {
return usermapper.getUserList();
}
}
UserController.java
package com.qtt.im.controller; import com.qtt.im.entity.User;
import com.qtt.im.service.UserService;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RestController; @RestController
@RequestMapping(value="/user")
public class UserController { @Autowired
private UserService userService;
@RequestMapping("/getUserList")
public User getUserList(){
User userList = userService.getUserList();
return userList;
} }
所用的注解可以自己网上查询.
第四步:可以添加一些过滤器
MyFilter.java
package com.qtt.im.filter; import javax.servlet.*;
import javax.servlet.http.HttpServletRequest;
import java.io.IOException; public class MyFilter implements Filter {
@Override
public void init(FilterConfig filterConfig) throws ServletException { } @Override
public void doFilter(ServletRequest servletRequest, ServletResponse servletResponse, FilterChain filterChain) throws IOException, ServletException { HttpServletRequest request = (HttpServletRequest) servletRequest;
System.out.println("this is my filter url:"+request.getRequestURI());
filterChain.doFilter(servletRequest,servletResponse);
} @Override
public void destroy() { }
}
WebConfiguration.java
package com.qtt.im.filter; import org.apache.catalina.filters.RemoteIpFilter;
import org.springframework.boot.web.servlet.FilterRegistrationBean;
import org.springframework.context.annotation.Bean;
import org.springframework.context.annotation.Configuration; @Configuration
public class WebConfiguration { @Bean
public RemoteIpFilter remoteIpFilter(){
return new RemoteIpFilter();
}
@Bean
public FilterRegistrationBean testFilterRegistration(){
FilterRegistrationBean filterRegistrationBean = new FilterRegistrationBean();
filterRegistrationBean.setFilter(new MyFilter());
filterRegistrationBean.addUrlPatterns("/*");
filterRegistrationBean.addInitParameter("paramName","paramValue");
filterRegistrationBean.setName("MyFilter");
filterRegistrationBean.setOrder(1);
return filterRegistrationBean;
}
}
第五步:编写一个程序入口
Application.java
package com.qtt.im; import org.mybatis.spring.annotation.MapperScan;
import org.springframework.boot.SpringApplication;
import org.springframework.boot.autoconfigure.SpringBootApplication; @SpringBootApplication
@MapperScan("com.qtt.im.mapper")
public class Application {
public static void main(String[] args){
SpringApplication.run(Application.class,args);
}
}
java代码部分的结构图如下:


第六步:创建写sql语句的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.qtt.im.mapper.UserMapper" >
<select id="getUserList" resultType="com.qtt.im.entity.User" >
SELECT id,loginName FROM im_user;
</select>
</mapper>
其中 namespace:是java部分的userMapper接口.resultType:是实体类.返回类型.
第七步:创建配置文件
application.proterties
spring.datasource.url=jdbc:mysql://localhost:3306/sdt?useUnicode=true&characterEncoding=utf-8 (sdt是数据库)
mybatis.type-aliases-package=com.qtt.im.mapper (mapper接口扫描)
spring.datasource.driver-class-name = com.mysql.jdbc.Driver (驱动)
spring.datasource.type=com.alibaba.druid.pool.DruidDataSource
spring.datasource.username=root (用户名)
spring.datasource.password=qintongtong (密码)
mybatis.mapper-locations=classpath*:/mappers/**Mapper.xml (xml文件)
log4j.properties
log4j.rootLogger=WARN, CONSOLE log4j.appender.CONSOLE=org.apache.log4j.ConsoleAppender
log4j.appender.CONSOLE.layout=org.apache.log4j.PatternLayout
log4j.appender.CONSOLE.layout.ConversionPattern=%d{HH:mm:ss,SSS} [%t] %-5p %C{1} : %m%n
配置文件的结构图如下:

注:userMapper.xml文件所在的目录一定要设成如下所示:file--->Project structtre-->moudles

如果不设置,就会找不到xml文件,或者可以直接放在resources下,但是不便于管理.
第八步:启动项目测试

启动这个类后,在浏览器输入地址:成功后如下

user 和 getUserList是你在controller层定义的
springboot mybatis 整合的更多相关文章
- SpringBoot Mybatis整合(注解版),SpringBoot集成Mybatis(注解版)
SpringBoot Mybatis整合(注解版),SpringBoot集成Mybatis(注解版) ================================ ©Copyright 蕃薯耀 2 ...
- SpringBoot+Mybatis整合入门(一)
SpringBoot+Mybatis 四步整合 第一步 添加依赖 springBoot+Mybatis相关依赖 <!--springBoot相关--> <parent> < ...
- SpringBoot+Mybatis整合实例
前言 大家都知道springboot有几大特点:能创建独立的Spring应用程序:能嵌入Tomcat,无需部署WAR文件:简化Maven配置:自动配置Spring等等.这里整合mybatis,创建一个 ...
- 2、SpringBoot+Mybatis整合------一对一
开发工具:STS 代码下载链接:https://github.com/theIndoorTrain/SpringBoot_Mybatis01/tree/93398da60c647573645917b2 ...
- springboot/Mybatis整合
正题 本项目使用的环境: 开发工具:Intellij IDEA 2017.1.3 springboot: 1.5.6 jdk:1.8.0_161 maven:3.3.9 额外功能 PageHelper ...
- springboot+mybatis整合(单元测试,异常处理,日志管理,AOP)
我用的事IDEA,jdk版本是1.7.新建项目的时候这个地方的选择需要注意一下,springboot版本是1.5的,否则不支持1.7的jdk pom.xml <dependency> &l ...
- 9、SpringBoot+Mybatis整合------动态sql
开发工具:STS 前言: mybatis框架中最具特色的便是sql语句中的自定义,而动态sql的使用又使整个框架更加灵活. 动态sql中的语法: where标签 if标签 trim标签 set标签 s ...
- 1、SpringBoot+Mybatis整合------简单CRUD的实现
编译工具:STS 代码下载链接:https://github.com/theIndoorTrain/SpringBoot_Mybatis01/commit/b757cd9bfa4e2de551b2e9 ...
- Springboot+Mybatis整合PageHelper
一.全部的gradle引入 // https://mvnrepository.com/artifact/com.github.pagehelper/pagehelper-spring-boot-sta ...
随机推荐
- spring-boot-starter-mail技术总结
1. spring-boot-starter-mail技术总结 1.1. 配置读取类SMTPTransport 在application中需要配置的信息,在此类中都可以看到,可以在此类打断点查看 1. ...
- .NET Core微服务之基于Consul实现服务治理(续)
Tip: 此篇已加入.NET Core微服务基础系列文章索引 上一篇发布之后,很多人点赞和评论,不胜惶恐,这一篇把上一篇没有弄到的东西补一下,也算是给各位前来询问的朋友的一些回复吧. 一.Consul ...
- Python爬虫实例:爬取B站《工作细胞》短评——异步加载信息的爬取
很多网页的信息都是通过异步加载的,本文就举例讨论下此类网页的抓取. <工作细胞>最近比较火,bilibili 上目前的短评已经有17000多条. 先看分析下页面 右边 li 标签中的就是短 ...
- RDIFramework.NET ━ .NET快速信息化系统开发框架 V3.2版本正式发布
RDIFramework.NET .NET快速信息化系统开发框架 V3.2版本 正式发布 精益求精求完美! 1.RDIFramework.NET框架介绍 RDIFramework.NET,基于.NE ...
- .NET运行时中的监测和可观测性
今年5月份的时候研究分布式追踪的问题知道了的拦截方式比较零散, 刚好8月份的时候看到这篇文章,这个文章总结的比较完整.存档了很久,趁今天有空翻译给大家.原文地址,校验:张蘅水 .NET是一个托管运行时 ...
- 系统检测工具ROSWTF
ROSWTF 详细见http://wiki.ros.org/roswtf roswtf will examine your ROS setup, such as your environment va ...
- .net后台防止API接口被重复请求
思路大概是这样的: 1.获取到发出请求的客户端的IP 2.将该IP存入Cache作为KEY,将次数作为Value初始化为0,过期时间设置为1分钟 3.每次请求都将value+1,超过指定的次数后返回f ...
- .NET redis cluster
一.下载Windows版本Redis 下载链接:https://github.com/MSOpenTech/redis/releases(根据系统选择对应版本) 二.修改默认的配置文件 如上图两个配置 ...
- iis读取不到本地证书问题
导入证书时,通过mmc命令打开控制台->添加管理单元或删除单元->选择本地计算机账号->然后导入证书,解决 ssl证书无法与www.xxx通信. 证书导入后,不能正常读取.有两个问题 ...
- 服务器端Session和客户端Session
客户端Session和服务器端Session 当用户首次与web服务器建立连接的时候,服务器会给用户分发一个SessionID作为标识.SessionID是一个由24个字符组成的随机字符串.用户每次提 ...