spring mysql整合_springboot mybatis mysql 整合

1、pom文件配置

mysql

mysql-connector-java

runtime

org.springframework.boot

spring-boot-starter-test

test

org.mybatis.spring.boot

mybatis-spring-boot-starter

1.2.0

org.springframework.boot

spring-boot-starter-jdbc

2、mybatis 数据库连接配置

spring.datasource.driver-class-name=com.mysql.cj.jdbc.Driver

spring.datasource.url=jdbc:mysql://localhost:3306/testpentaho?useUnicode=true&useJDBCCompliantTimezoneShift=true&useLegacyDatetimeCode=false&serverTimezone=UTC

spring.datasource.username=root

spring.datasource.password=root

mybatis.mapper-locations= = classpath:xml/*.xml

mybatis.type-aliases-package=com.zjx.pojo

3.pojo

package com.zjx.pojo;

import org.springframework.context.annotation.Bean;

import java.io.Serializable;

/**

* 学生信息表

*/

public class Student implements Serializable {

private String userName;

private String userAge;

private String userSex;

private String userAddress;

public String getUserName() {

return userName;

}

public void setUserName(String userName) {

this.userName = userName;

}

public String getUserAge() {

return userAge;

}

public void setUserAge(String userAge) {

this.userAge = userAge;

}

public String getUserSex() {

return userSex;

}

public void setUserSex(String userSex) {

this.userSex = userSex;

}

public String getUserAddress() {

return userAddress;

}

public void setUserAddress(String userAddress) {

this.userAddress = userAddress;

}

public Student(String userName, String userAge, String userSex, String userAddress) {

this.userName = userName;

this.userAge = userAge;

this.userSex = userSex;

this.userAddress = userAddress;

}

public Student() {

}

@Override

public String toString() {

return "Student{" +

"userName='" + userName + '\'' +

", userAge='" + userAge + '\'' +

", userSex='" + userSex + '\'' +

", userAddress='" + userAddress + '\'' +

'}';

}

}

4、mapper 接口及映射文件

package com.zjx.mapper;

import org.apache.ibatis.annotations.Mapper;

import org.springframework.beans.factory.annotation.Autowired;

import org.springframework.stereotype.Repository;

import com.zjx.pojo.Student;

import java.awt.print.Pageable;

import java.util.*;

@Mapper

public interface StudentMapper {

public void add(Student student);

public List findByName(Student student);

public void delete(Student student);

public List findAll();

}

select * from student

select * from student where userName = #{userName}

insert into student(userName,userAge,userSex,userAddress)

values

(#{userName},#{userAge},#{userSex},#{userAddress})

delete from student where userName=#{userName}

5、service

package com.zjx.service;

import com.zjx.mapper.StudentMapper;

import com.zjx.pojo.Student;

import org.springframework.beans.factory.annotation.Autowired;

import org.springframework.cache.annotation.CacheEvict;

import org.springframework.cache.annotation.Cacheable;

import org.springframework.stereotype.Service;

import java.util.List;

@Service

public class StudentService {

@Autowired

StudentMapper studentMapper;

@CacheEvict(value="student",allEntries = true)

public void add(Student student){

this.studentMapper.add(student);

}

public List findByName(Student student){

return this.studentMapper.findByName(student);

}

@CacheEvict(value="student",allEntries = true)

public void del(Student student){

this.studentMapper.delete(student);

}

@Cacheable(value = "student")

public List allStudent(){

return this.studentMapper.findAll();

}

}

6、测试

package com.zjx;

import com.zjx.pojo.Student;

import com.zjx.service.StudentService;

import org.junit.Test;

import org.junit.runner.RunWith;

import org.springframework.beans.factory.annotation.Autowired;

import org.springframework.boot.test.context.SpringBootTest;

import org.springframework.test.context.junit4.SpringRunner;

@RunWith(SpringRunner.class)

@SpringBootTest

public class SpringbootehcacheApplicationTests {

@Autowired

StudentService studentService;

@Test

public void contextLoads() {

}

@Test

public void getStudent(){

//第一次

System.out.println(this.studentService.allStudent().size());

this.studentService.add(new Student("aa","24","男","华阳大道"));

this.studentService.del(new Student("cc","","",""));

this.studentService.del(new Student("bb","","",""));

this.studentService.del(new Student("aa","","",""));

//第二次

System.out.println(this.studentService.allStudent().size());

}

}

运行出现 invalid bound statement (not found)异常

原因是mapper.xml文件未加载

目录结构:

4bb2a788195256e0389575365a7e2705.png

以上是自学总结。有借鉴前辈帖子望见谅。不足之处请多多指教

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/428488.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

Android 平台电容式触摸屏的驱动基本原理

Android 平台电容式触摸屏的驱动基本原理 Android 平台电容式触摸屏硬件基本原理 Linux 与 Android 的多点触摸协议 Linux输入子系统:事件的编码 转载于:https://www.cnblogs.com/LittleTiger/p/7992840.html

微信小程序怎么取mysql_微信小程序如何加载数据库真实数据?

微信小程序要加载网站数据库里面的真实数据,有一个硬性的要求,就是你的网站域名必须是https协议才行,要不然你第一步服务器域名配置你都通过不了,小编我也是前不久申请的https://www.100txy.com,具体申请步骤大家自行去…

mysql定时任务

1. 查看是否开启定时策略 show variables like %event_sche%; 若出现如下图,则此时是关闭状态 开启定时策略(重启无效) set global event_scheduler 1; 则需要在配置文件my.ini的设置(重启有效) [mysqld] event_schedulerON //这一行加入mysqld标签下 2. 创建存储过…

java 中jtable_java中使用JTable控件

JTable是java桌面软件设计的一个很有用的UI控件,是一个表格控件,完整位置是:javax.swing.JTable。以下是我的一些使用经验:添加行:不能直接向JTable插入行,需要借助JTable的tableModel,代码如下…

02使用常规步骤编译NanoPiM1Plus的Android4.4.2

02使用常规步骤编译NanoPiM1Plus的Android4.4.2 大文实验室/大文哥 壹捌陆捌零陆捌捌陆捌贰 21504965 AT qq.com 完成时间:2017/12/5 17:51 版本:V1.0 开发板:NanoPi M1 Plus/zh SDK:Android4.4.2 按照全志A33平台编译调通的功能&…

java 精灵线程_Java线程的状态分析

/*** 线程的状态分析*authoraa**/public classThreadState {public static void main(String[] args) throwsException {/*** 新建线程,线程为新建状态* jdk:至今尚未启动的线程的状态。* 如果不给线程设置名称,线程的名称将会是:…

【02】koala编译中文出错(已放弃不用)

http://koala-app.com/index-zh.html koala 下载地址。sass。中文编译出错:打开 Koala文件夹位置->rubygems->gems->sass->lib->sass->engine.rb。添加这句话。在所有的request XXXX 之后即可。复制添加Encoding.default_external Encoding.find…

java jlabel里面加button_在Java Swing中通过JLabel覆盖JButton?

是否可以在Swing中将Button叠加在Label上?例如,如果有一个带有图像的JLabel而没有文本,我想在我的JLabel上覆盖我的按钮.标签定义如下:myLabel new javax.swing.JLabel(new ImageIcon( myPicture ));如果没有,那么任何想法我怎么能意识到这一点,谢谢.编…

项目管理之码云和git

目录 学习链接 1 码云 1 第一步,注册 2 第二部,登录 2 创建项目 2 git管理 4 如何生成公钥 5 clone项目 5 提交项目 6 1.本地初始化一个项目 6 2.开始第一次上传你的项目 7 5.Git基本操作 8 学习链接 https://www.cnblogs.com/xiaoxiaoccaiya/p/7125136.…

java 传递脚本给c_java – JNI将参数传递给c的方法

我有一个c文件myCppTest.cpp,它有方法int myFunction(int argv, char **argc) {}和myClass.java中的Java本机方法public native int myFunction (int argv, char[][] argc);使用javah -jni myClass生成头文件后,我有头JNIEXPORT jint JNICALL Java_JPTokenizer_init(JNIEnv *, …

【例3-4】求后序遍历

【例3-4】求后序遍历 链接:http://ybt.ssoier.cn:8088/problem_show.php?pid1339时间限制: 1000 ms 内存限制: 65536 KB【题目描述】 输入一棵二叉树的先序和中序遍历序列,输出其后序遍历序列。 【输入】 共两行,第一行一个字符串&a…

java classpath bat_tomcat启动批处理——setclasspath.bat | 学步园

除了上面两个批处理,还有一个比较重要的脚本,即是setclasspath.bat,它主要负责寻找、检查JAVA_HOME和JRE_HOME两个变量。********************************************************************************************if ""%1&q…

验证 Swarm 数据持久性 - 每天5分钟玩转 Docker 容器技术(104)

上一节我们成功将 Rex-Ray Volume 挂载到了 Service。本节验证 Failover 时,数据不会丢失。 Scale Up 增加一个副本: docker service update --replicas 2 my_web 运行之前我们先推测一下,理想的结果应该是:swarm 在 swarm-worker…

SQL Server安全级别2的阶梯:身份验证

SQL Server安全级别2的阶梯:身份验证作者:Don Kiely,2014/06/18 该系列本文是“Stairway系列:SQL Server安全性的阶梯”的一部分 SQL Server提供了保护服务器和数据免受当今复杂攻击所需的一切。但是,在您有效使用这些…

java file 堵塞_单元测试最终在Java 6中阻塞

首先考虑使用IOUtils.closeQuietly(),它会将未经测试的代码(可能是重复代码)减少为:try {f new BufferedInputStream(new FileInputStream(source));f.read(buffer);} finally {IoUtils.closeQuietly(f);}现在变得艰难. “正确”的方法是将BufferedInputStream的创…

java jna调用dll文件_关于java jna调用dll的问题

public interface User32 extends StdCallLibrary{User32 INSTANCE (User32)Native.loadLibrary("User32",User32.class);//加载系统User32 DLL文件,也可以是C写的DLL文件int SendMessageA(int hwnd,int msg,int wparam,int lparam);int FindWindowA(Str…

【bzoj4444】[Scoi2015]国旗计划 倍增

题目描述 给出一个圈和若干段,问:对于所有的 $i$ ,选择第 $i$ 段的情况下,最少需要选择多少段(包括第 $i$ 段)能够覆盖整个圈?输入 第1行,包含2个正整数N,M,分别表示边防…

java multimap 序列化_C++ JSON库的使用

1. 如何使用?2. 常用方法2.1 创建json对象2.1.1 使用cin,cout输入输出流2.1.2 提供根据键直接生成键值对的方法2.1.3 json::array json::object2.1.4 几个区别2.2 序列化2.2.1 标准输出自动序列化2.2.2 使用dump()函数2.3 反序列化2.3.1 从标准输入反序列化2.3.2 通…

【Excle数据透透视表】如何删除数据透视表

选中区域A4:C17,在键盘上按DELETE键删除,结果提示:那么如何删除呢?解决方案选中整个数透视表,再删除具体操作:选中整个数据透视表→DELETE注意:删除之后,源数据不会受到影响转载于:https://www.…

java 启动redis服务器_docker启动redis并使用java连接

一、先查找镜像docker search redis二、拉取镜像docker pull redis三、等待拉取完毕四、查看拉去的镜像docker iamges五、运行redis连接1:https://blog.csdn.net/weixin_38956287/article/details/80423607连接2:http://www.runoob.com/docker/docker-in…