MyBatis

mybatis报错:Invalid bound statement (not found)

岁酱吖の 提交于 2020-03-15 01:59:17
mybatis报错:Invalid bound statement (not found)的原因很多,但是正如报错提示一样,找不到xml中的sql语句,报错的情况分为三种: 第一种:语法错误 Java DAO层接口 public void delete(@Param("id")String id); Java 对应的mapper.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="xxx.xxx.xxx.Mapper"> <!-- 删除数据 --> <delete id="delete" parameterType="java.lang.String"> DELETE FROM xxx WHERE id=#{id} </delete> </mapper> 检查: 接口中方法名(delete)与xml文件中 id="delete" 是否一致 xml文件中的 namespace="xxx.xxx.xxx.Mapper" 中的路径是否与接口文件路径一致 parameterType 类型 与

Mybatis学习之路3

試著忘記壹切 提交于 2020-03-15 01:19:35
@Param()注解 引用类型不需要加 如果只有一个基本类型的,可以忽略 在 sql 中引用的就是在注解中设定的字段名 高级结果映射 public class Student { private int id; private String name; private Teacher teacherr; } public class Teacher { private int id; private String name; } 多对一: <select id="getStudentsWithTeacher2" resultMap="studentTeac2"> select s.id sid,s.name sname,t.id tid,t.name tname from student s join teacher t on s.tid = t.id; </select> <resultMap id="studentTeac2" type="student"> <result property="id" column="sid"/> <result property="name" column="sname"/> <association property="teacherr" javaType="teacher"> <result property="id" column=

mybatis 实现增删改查(CRUD)

蓝咒 提交于 2020-03-14 20:35:32
如何创建项目,注入依赖,编写核心配置文件、工具类、实体类这里就不详细说了,具体可以参考下边这条博文 https://www.cnblogs.com/bear7/p/12491937.html 这里将详细说一下有关mybatis操作数据库实现增删盖查的步骤:    *编写接口   *编写对应映射文件中mapper   *编写测试类 1.select语句:选择,查询数据   1.1 查询User表中所有信息     *编写接口  package com.kuang.dao; import com.kuang.pojo.User; import java.util.List; public interface UserMapper { List<User> getUserList(); }      *编写对应映射文件中mapper中的sql语句 <?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.kuang.dao.UserMapper"> <select id="getUserList"

Mybatis缓存配置

怎甘沉沦 提交于 2020-03-14 20:01:05
前言 使用缓存可以提高获取数据的速度,避免频繁的数据库交互,尤其是在查询越多,缓存命中率越高的情况下,使用缓存的作用就更加明显了。一般提到Mybatis缓存的时候都是指二级缓存,一级缓存默认会启用。 一级缓存 1.先写一个基本的mapper来创建sqlsession,类名为BaseMapperTest public class BaseMapperTest{ private static SqlSessionFactory sqlSessionFactory; @BeforeClass public static void init(){ try{ Reader reader = Resources.getResourceAsReader("mybatis-config.xml"); sqlSessionFactory = new SqlSessionFactoryBuilder().build(reader); reader.close(); }catch (IOException ignore){ ignore.printStackTrace(); } } public SqlSession getSqlSession(){ return sqlSessionFactory.openSession(); } } 2.创建一个缓存的测试类,CacheTest public

一起学MyBatis之入门篇

落花浮王杯 提交于 2020-03-14 15:13:19
概述 本文以一个简单的小例子,简述在Java项目开发中MyBatis的基本用法,属于入门级文章,仅供学习分享使用,如有不足之处,还请指正。 什么是MyBatis? MyBatis 是一款优秀的持久层框架,它支持定制化 SQL、存储过程以及高级映射。MyBatis 避免了几乎所有的 JDBC 代码和手动设置参数以及获取结果集。MyBatis 可以使用简单的 XML 或注解来配置和映射原生类型、接口和 Java 的 POJO(Plain Old Java Objects,普通老式 Java 对象)为数据库中的记录。 MyBatis环境的搭建 环境搭建步骤: 1. 新建一个Java Project,并引入需要的Jar包。 MyBatis需要的Jar包,共2个,如下所示: 1 //MyBatis包 2 mybatis-3.5.3.jar 3 //MySql数据库连接驱动包 4 mysql-connector-java-5.1.6.jar 2. 新增MyBatis配置文件 在src目录下,新增一个MyBatis的配置文件【mybatis-config.xml】,主要配置数据库连接相关环境信息和Mapper信息,具体内容如下: environments 节点配置数据库环境,可以有多个配置,default表示默认连接哪个环境。 mappers配置引入的映射文件,采用相对路径的方式。 1 <

其乐蛋糕店后台管理系统(一)--简介

谁说我不能喝 提交于 2020-03-14 09:11:19
其乐蛋糕店后台管理系统 技术: 后端运用:spring+springmvc+mybatis(经典的ssm框架) 前端运用:jsp/js github下载地址 : https://github.com/XINGGou/qile 它主要分为三个模块 1 主页页面 是以left/right/top.jsp三页面组合而成 2 门店管理模块: 其中包含了门店的id/门店名称/地址以及联系电话 可以增加/删除或者修改门店信息 3 订单管理模块: 优化404/500异常页面 假若报了404/500异常,它会弹出一段文字并且有一个返回主页面的按钮,点击可返回(这样会显得比较的亲切,而不至于尴尬) 序号/所属门店/订单号/类型(点心/奶茶/水果等)/用餐人数/你所对应的收营员等。。 报404错误 报500异常 虽说比较简单,不过适用于初学者对springmvc框架的掌握 之后会有步骤分析:更新中 来源: oschina 链接: https://my.oschina.net/u/4115134/blog/3193902

避免maven package 打包时执行 mybatis-generator-maven-plugin 插件

☆樱花仙子☆ 提交于 2020-03-14 03:18:39
一、为什么打包时会执行该插件 mybatis-generator-maven-plugin默认绑定了package的生命周期 二、如何解决 如果在package和install 执行插件,修改pom中的配置(黄色部分是修改后的部分,注释部分是之前的,之前的mvn打包有问题) <build> <plugins> <plugin> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-maven-plugin</artifactId> </plugin> <plugin> <groupId>org.apache.maven.plugins</groupId> <artifactId>maven-compiler-plugin</artifactId> <version>3.7.0</version> <configuration> <source>1.8</source> <target>1.8</target> <encoding>UTF-8</encoding> </configuration> </plugin> <plugin> <groupId>org.mybatis.generator</groupId> <artifactId>mybatis-generator-maven-plugin<

mybatis sqlSource时序图(二)

老子叫甜甜 提交于 2020-03-14 01:42:45
上图是sqlsource在mybatis中创建的时序图; 以下会通过源码的方式将时序图进行深入的说明; 1.XMLStatementBuilder对xxxMapper.xml中对每个CURD进行解析成MappedStatement对象 如: <select id="selectRawWithInclude" resultType="Name" lang="raw"> SELECT firstName, lastName <include refid="include"/> WHERE lastName LIKE #{name} </select> lang属性指定该MapperStatement中的sqlSource属性是由哪类LanguageDriver进行 public interface LanguageDriver { /** * 创建ParameterHandler,将入参的数据传入jdbc statement ex:PrepareStatement中的 '?' */ ParameterHandler createParameterHandler(MappedStatement mappedStatement, Object parameterObject, BoundSql boundSql); /** * 通过解析xml中的curd node数据创建SqlSource

SSM

戏子无情 提交于 2020-03-13 09:12:25
1. 项目环境准备 1.1. 技术选型 整个项目使用的 SSM 框架 SpringMVC , Spring , MyBatis , MySql 数据库, Shiro 安全框架 1.2. 使用 Maven 创建 Web 项目 1.3. 引入 maven 项目 pom 文件依赖的和插件配置 Maven 的 pom 文件集成了整个项目所需要的绝大部分框架依赖,后期其他依赖在实际开发中按需引入集合 <project xmlns= "http://maven.apache.org/POM/4.0.0" xmlns:xsi= "http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation= "http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd" > <modelVersion>4.0.0</modelVersion> <groupId>cn.zj</groupId> <artifactId>logistics_system</artifactId> <version>0.0.1-SNAPSHOT</version> <packaging>war</packaging> <properties> <spring.version>4

springboot mybatis 读写分离集成

▼魔方 西西 提交于 2020-03-12 19:23:33
背景 在实际开发中,我们一个项目可能会用到多个数据库,通常一个数据库对应一个数据源。本示例,通过两种方式实现多数据源切换 1)手动切换 2)使用注解进行切换 本文使用的是第二种方式,使用注解的方式进行切换 一. 准备 1 maven依赖 <?xml version="1.0" encoding="UTF-8"?> <project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd"> <modelVersion>4.0.0</modelVersion> <groupId>com.example.springboot</groupId> <artifactId>multi-datasource</artifactId> <version>1.0-SNAPSHOT</version> <parent> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter