新建项目在上一篇.

第二步:创建表和相应的实体类

实体类: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 整合的更多相关文章

  1. SpringBoot Mybatis整合(注解版),SpringBoot集成Mybatis(注解版)

    SpringBoot Mybatis整合(注解版),SpringBoot集成Mybatis(注解版) ================================ ©Copyright 蕃薯耀 2 ...

  2. SpringBoot+Mybatis整合入门(一)

    SpringBoot+Mybatis 四步整合 第一步 添加依赖 springBoot+Mybatis相关依赖 <!--springBoot相关--> <parent> < ...

  3. SpringBoot+Mybatis整合实例

    前言 大家都知道springboot有几大特点:能创建独立的Spring应用程序:能嵌入Tomcat,无需部署WAR文件:简化Maven配置:自动配置Spring等等.这里整合mybatis,创建一个 ...

  4. 2、SpringBoot+Mybatis整合------一对一

    开发工具:STS 代码下载链接:https://github.com/theIndoorTrain/SpringBoot_Mybatis01/tree/93398da60c647573645917b2 ...

  5. springboot/Mybatis整合

    正题 本项目使用的环境: 开发工具:Intellij IDEA 2017.1.3 springboot: 1.5.6 jdk:1.8.0_161 maven:3.3.9 额外功能 PageHelper ...

  6. springboot+mybatis整合(单元测试,异常处理,日志管理,AOP)

    我用的事IDEA,jdk版本是1.7.新建项目的时候这个地方的选择需要注意一下,springboot版本是1.5的,否则不支持1.7的jdk pom.xml <dependency> &l ...

  7. 9、SpringBoot+Mybatis整合------动态sql

    开发工具:STS 前言: mybatis框架中最具特色的便是sql语句中的自定义,而动态sql的使用又使整个框架更加灵活. 动态sql中的语法: where标签 if标签 trim标签 set标签 s ...

  8. 1、SpringBoot+Mybatis整合------简单CRUD的实现

    编译工具:STS 代码下载链接:https://github.com/theIndoorTrain/SpringBoot_Mybatis01/commit/b757cd9bfa4e2de551b2e9 ...

  9. Springboot+Mybatis整合PageHelper

    一.全部的gradle引入 // https://mvnrepository.com/artifact/com.github.pagehelper/pagehelper-spring-boot-sta ...

随机推荐

  1. 小白学习Python之路---开发环境的搭建

    本节内容 1.Python的介绍 2.发展史 3.安装Python 4.搭建开发环境 5.Hello World程序 一.Python的介绍 Python的创始人为荷兰人吉多·范罗苏姆(Guido v ...

  2. Google File System 见解 (作业)

    Google File System ——见解 近年来,大街小巷都传遍的大数据,引起了社会的一阵学习大数据狂热,造成任何公司在招聘人员的时候都会注上一条,会大数据的优先考虑:但是,从另一方面来说,这狂 ...

  3. Linux 进程终止后自动重启

    /opt/a.sh #! /bin/bash ps -ef | grep python3 a.py | grep -v grep | grep python3 if [ $? -ne 0 ] then ...

  4. 配置完IDEA开发lua后用idea竟然打不开lua的文件。

    1.文件没关联上  File > setting > File Types  完成后即可打开lua文件

  5. Python中路径操作

    目录 1. os.path模块 2. pathlib模块 2.1 目录操作 2.2 文件操作 3. shutil模块 3.1 os模块 3.2 shutil模块 1. os.path模块 3.4版本之 ...

  6. NormalDialogFragmentDemo【普通页面的DialogFragment】

    版权声明:本文为HaiyuKing原创文章,转载请注明出处! 前言 该Demo主要演示DialogFragment作为普通页面,显示全屏和状态栏下方的效果以及动画效果. 效果图 代码分析 @Overr ...

  7. springboot~rabbitmq自己通过UI手动发布队列需要注意的地方

    springboot里发布队列消息 为了兼容性和可读性更好,我们一般使用json字符串做为数据载体. public void decreaseCallMonitor(CallMonitorInfo c ...

  8. Java异常实战——OutOfMemoryError

    在Java虚拟机规范描述中,除了程序计数器外,虚拟机内存的其他几个运行区域都有发生 OOM 异常的可能.在这里,用代码验证各个运行时区域存储的内容并讨论该如何进行处理 Java堆溢出 Java 堆用于 ...

  9. ecstore中怎样使用ajax提交数据

    //javascript代码 $$(".bb").addEvent('change',function(e){ var order_item_id = this.get('orde ...

  10. Docker-compose command 有多个命令例子

    cat docker-compose.yml version: '3.4' services: klvchen: image: python_django:19.03.0 ports: - 8000: ...