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 ...
随机推荐
- 2. VIM 系列 - 初探vim配置文件
目录 配置文件 .vimrc 基本配置 tab 键设置 热键配置 配置文件 刚安装vim默认配置,功能是很简单的,vim的功能很多是需要配置开启的. .vimrc 使用vim打开配置文件~/.vimr ...
- Java数据结构和算法 - 堆
堆的介绍 Q: 什么是堆? A: 这里的“堆”是指一种特殊的二叉树,不要和Java.C/C++等编程语言里的“堆”混淆,后者指的是程序员用new能得到的计算机内存的可用部分 A: 堆是有如下特点的二叉 ...
- Java笔试题库之选题题篇【141-210题】
141.Struts框架可以支持以下哪种程序开发语言? A.C B.C++ C.Java D.C# 解答:C 142.在Servlet处理请求的方式为. A.以进程的方式 B.以程序的方式 C.以线程 ...
- 一些关于StringAPI的题目
一:知识点 1.字符串"你好北京"中每个字符占用2个内存字节数.字符串底层由字符数组构成,每个字符占用内存2个字节. 2.重写toString 一般对象都有这个方法,目的是将对象按 ...
- Java实现点击导出excel页面遮罩屏蔽,下载完成后解除遮罩
一.问题场景 最近在做数据统计功能,需求是导出大数据量的excel,时间间隔较长,大概需要十秒左右,点击导出后,页面没有做任何处理,用户也不知道是否正在导出:如果没有做交互上的限制,用户可以一直点击导 ...
- 【视频】Entity Framework Core 2.* 入门教程
视频专辑在B站上:https://www.bilibili.com/video/av34462368/ 内容暂时如下,还在更新中: 1. 简介 & 创建Model,生成数据库 2. 在ASP. ...
- [深度应用]·DC竞赛轴承故障检测开源Baseline(基于Keras 1D卷积 val_acc:0.99780)
[深度应用]·DC竞赛轴承故障检测开源Baseline(基于Keras1D卷积 val_acc:0.99780) 个人网站--> http://www.yansongsong.cn/ Githu ...
- SpringBoot技术栈搭建个人博客【前台开发/项目总结】
前言:写前台真的是我不擅长的东西...所以学习和写了很久很久...前台页面大概开发了两天半就开发好了,采用的静态的html和bootstrap来写,写后台的时候纠结住了...怎么说呢,写页面真的是头疼 ...
- Docker最全教程——数据库容器化之持久保存数据(十一)
上一节我们讲述了SQL Server容器化实践(注意,SQL Server现在也支持跨平台),本节将讲述如何持久保存数据,并且接下来将逐步讲解其他数据库(MySql.Redis.Mongodb等等)的 ...
- JCE安装使用报错
"description":"No key was installed for encryption service","status":& ...