新建项目在上一篇.

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

实体类: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. SpringBoot 2.X集成Hive-jdbc 3.1.1

    最近公司有一个需求,需求的内容是根据用户页面选择的参数条件查询Hive,数量量大致是300万以内,要求3秒响应.使用的其它的技术就不要说了,先说说SpingBoot集成Hive-jdbc吧,网上虽然有 ...

  2. HttpUtil 【判断网络连接的封装类】

    版权声明:本文为HaiyuKing原创文章,转载请注明出处! 前言 该封装类主要包括以下功能: 判断是否有网络连接.判断是否有可用的网络连接: 判断是否是3G网络.判断mobile网络是否可用: 判断 ...

  3. 通过Jenkins定期清除为None的镜像

    在代码持续交付过程中,依靠Jenkins生产Docker镜像时,会生成许多的名为None的中间镜像,这些镜像在整个项目生产过程完毕后意义不大,还占着空间,需要定期清理,通过手动方式实在是繁琐,也就有了 ...

  4. 1.1专题介绍「深入浅出ASP.NET Core系列」

    大家好,我是IT人张飞洪,专注于.NET平台十年有余. 工作之余喜欢阅读和写作,学习的内容包括数据结构/算法.网络技术.Linux系统原理.数据库技术原理,设计模式.前沿架构.微服务.容器技术等等…… ...

  5. Java并发编程系列-AbstractQueuedSynchronizer

    原创作品,可以转载,但是请标注出处地址:https://www.cnblogs.com/V1haoge/p/10566625.html 一.概述 AbstractQueuedSynchronizer简 ...

  6. 使用visualStudio2017创建一个简单的控制台程序

    步骤: 1.  打开visual studio开发工具 2. 选择文件>新建>项目 如下图所示: 3. 选择window金典桌面>控制台应用程序 并填写好想项目名称和选择项目存储地址 ...

  7. Java笔记(day7-day8)

    this关键字: (1)this(当局部变量和成员变量重名时,可以用关键字this区分)    this代表对象,当前对象       this就是所在函数所属对象的引用      简单来说,哪个对象 ...

  8. 中文代码示例之5分钟入门TypeScript

    "中文编程"知乎专栏原文 Typescript官方文档起的这个噱头名字: TypeScript in 5 minutes, 虽然光看完文章就不止5分钟...走完整个文档流水账如下( ...

  9. (四) Keras Dropout和正则化的使用

    视频学习来源 https://www.bilibili.com/video/av40787141?from=search&seid=17003307842787199553 笔记 使用drop ...

  10. Android应用跳转到微信和支付宝扫一扫

    新版的微信已经把微信功能的schema都禁掉了,意味着我们无法打开微信的扫一扫等功能,目前正常的只能先进入微信(我测试的时候是微信版本7.0.3)已经是很新的版本了 具体调起微信扫一扫代码如下,测试后 ...