mapper

IDEA异常解决: org.apache.ibatis.binding.BindingException: Invalid bound statement (not found)

╄→гoц情女王★ 提交于 2020-01-21 22:10:50
原因 : 此异常的原因是由于mapper接口编译后在同一个目录下没有找到mapper映射文件而出现的。由于maven工程在默认情况下src/main/java目录下的mapper文件是不发布到target目录下的。 解决方法 :   在dao的pom.xml中添加如下内容: <!-- 如果不添加此节点mybatis的mapper.xml文件都会被漏掉。 --> <build> <resources> <resource> <directory>src/main/java</directory> <includes> <include>**/*.properties</include> <include>**/*.xml</include> </includes> <filtering>false</filtering> </resource> </resources> </build> IDEA异常解决: org.apache.ibatis.binding.BindingException: Invalid bound statement (not found) 有时候解决问题不仅仅是解决问题。-----jstarseven 最近因为开发需要,需要搭建一个ssm开发框架,采用了开发工具IDEA。 整合完了SSM开发框架之后,发布的时候出现 org.apache.ibatis

SPring整合Mybatis方式一

懵懂的女人 提交于 2020-01-20 11:22:24
Spring整合Mybatis 需要maven包: mysql-connector-java 5.1.47, mybatis 3.5.2, spring-webmvc 5.2.2.RELEASE, spring-jdbc 5.2.2.RELEASE, aspectjweaver 1.8.13 mybatis-spring 2.0.2, 目录: pom.xml配置: <?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>org.example</groupId> <artifactId>SpringMybatis</artifactId> <version>1.0-SNAPSHOT</version> <dependencies> <!-- https:/

Mybatis深入源码分析之SqlSessionFactoryBuilder源码分析

大兔子大兔子 提交于 2020-01-20 10:41:41
一:源码分析代码片段 public static void main(String[] args) { try { // 基本mybatis环境 // 1.定义mybatis_config文件地址 String resources = "mybatis_config.xml"; // 2.获取InputStreamReaderIo流 Reader reader = Resources.getResourceAsReader(resources); // 3.获取SqlSessionFactory SqlSessionFactory sqlSessionFactory = new SqlSessionFactoryBuilder().build(reader); // 4.获取Session SqlSession sqlSession = sqlSessionFactory.openSession(); // 5.操作Mapper接口 UserMapper mapper = sqlSession.getMapper(UserMapper.class); UserEntity user = mapper.getUser(2); System.out.println(user.getName()); } catch (Exception e) { e.printStackTrace();

springboot多数据源---mybatis

本秂侑毒 提交于 2020-01-20 03:16:37
所为多数据库就是采用不同数据库实例中的多个库,或者同一个数据库实例中的不同库。 下面开始实现jdbctemplate多数据源: github: https://github.com/fengqing11/datasources-mybatis 完整项目结构图: 创建数据库: 有两个数据库,创建数据库之前请先创建好两个数据库。 jdbctemplate.sql # Host: localhost (Version: 5.7.26) # Date: 2020-01-19 15:23:50 # Generator: MySQL-Front 5.3 (Build 4.234) /*!40101 SET NAMES utf8 */ ; # # Structure for table "book" # CREATE TABLE ` book ` ( ` Id ` int ( 11 ) NOT NULL AUTO_INCREMENT , ` name ` varchar ( 255 ) DEFAULT NULL , ` author ` varchar ( 255 ) DEFAULT NULL , PRIMARY KEY ( ` Id ` ) ) ENGINE = MyISAM AUTO_INCREMENT = 2 DEFAULT CHARSET = utf8 ; # # Data for

Mybatis学习总结(三)——SqlMapConfig.xml全局配置文件解析

戏子无情 提交于 2020-01-20 00:40:35
经过上两篇博文的总结,对mybatis中的dao开发方法和流程基本掌握了,这一节主要来总结一下mybatis中的全局配置文件SqlMapConfig.xml在开发中的一些常用配置,首先看一下该全局配置文件中都有哪些可以配置的东西: 配置内容 作用 <properties> 用来加载属性文件 <settings> 用来设置全局参数 <typeAliases> 用来设置类型的别名 <typeHandlers> 用来设置类型处理器 <objectFactory> 用来设置对象工厂 <plugins> 用来设置插件 <environments> 用来设置mybatis的环境 <mappers> 用来配置映射文件 从前面的博文中可以看出,<environments>是用来配置mybatis的环境的,在和Spring整合前是由mybatis自己管理的,但是和Spring整合后,这些配置都将被废弃掉,<environments>部分在前面已经有提到过,这里就不再赘述了。然后objectFactory和plugins一般我们不用,所以在这里就不总结了,<typeHandlers>类型处理器是mybatis中用来完成jdbc类型和java类型之间转换的,mybatis默认支持的类型处理器基本够我们使用了,一般不需要自定义。这篇博文主要来总结一下剩下的几个配置的用法。 1、properties属性

MyBatis映射文件--增删改查

孤街浪徒 提交于 2020-01-19 18:12:08
MyBatis映射文件--增删改查 数据库表 EmployeeMapper.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.cn.mybatis.dao.EmployeeMapper"> <!-- namespace: 名称空间 id:唯一标识 resultType: 返回值类型 #{id} 从传递过来的参数中取出id --> <select id="getEmpById" resultType="com.cn.zhu.bean.Employee"> select * from tbl_employee where id = #{id} </select> <insert id="addEmp" parameterType="com.cn.zhu.bean.Employee"> insert into tbl_employee(last_name,gender,email) values(#{lastName},#{gender},#{email}) </insert> <update

MAVEN和ANT的区别

半腔热情 提交于 2020-01-19 12:17:20
一.Maven简介 Maven是基于 项目对象模型(POM) ,可以通过一小段描述信息来管理项目的构建,报告和文档的软件项目管理工具。 目前,绝大多数开发人员都把 Ant 当作 Java 编程项目的标准构建工具。遗憾的是,Ant 的项目管理工具(作为 make的替代工具)不能满足绝大多数开发人员的需要。通过检查 Ant 构建文件,很难发现项目的相关性信息和其它信息(如开发人员/拥有者、版本或站点主页)。 Maven 除了以程序构建能力为特色之外,还提供 Ant 所缺少的高级项目管理工具。由于 Maven 的缺省构建规则有较高的可重用性,所以常常用两三行 Maven 构建脚本就可以构建简单的项目,而使用 Ant 则需要十几行。事实上,由于 Maven 的面向项目的方法,许多 Apache Jakarta 项目现在使用 Maven,而且公司项目采用 Maven 的比例在持续增长。 Maven这个单词来自于意第绪语,意为知识的积累,最早在Jakata Turbine项目中它开始被用来试图简化构建过程。当时有很多项目,它们的Ant build文件仅有细微的差别,而JAR文件都由CVS来维护。于是Maven创始者开始了Maven这个项目,该项目的清晰定义包括,一种很方便的发布项目信息的方式,以及一种在多个项目中共享JAR的方式. 二.Maven常用命令 mvn archetype

解决@MapperScan扫描包里面混有@Service等问题

蓝咒 提交于 2020-01-19 03:56:35
问题描述 @MapperScan注解配置的一般是dao或者mapper的扫描包,一般用于数据库操作,里面类的一般都是接口,如果在dao层有其他接口,比如说@Service等就会报错 解决办法一 把service包移走,方法可行 解决办法二 不使用@MapperScan,在每个dao或者mapper里面加上注解@Mapper,方法可行 解决办法三 使用自定义注解,在mybatis的注解比较完善的情况下,就不用自己搞多少 1.创建注解@MyMapperScan 里面的属性全部抄袭@MapperScan MapperScannerRegistrar换成自己的 @Retention ( RetentionPolicy . RUNTIME ) @Target ( ElementType . TYPE ) @Documented @Import ( MyMapperScannerRegistrar . class ) @Repeatable ( MapperScans . class ) public @ interface MapperScan { String [ ] value ( ) default { } ; String [ ] basePackages ( ) default { } ; Class < ? > [ ] basePackageClasses ( ) default

20200103——继续复习mybatis

╄→尐↘猪︶ㄣ 提交于 2020-01-19 03:55:22
mybatis与hibernate区别 hibernate是一个标准的orm框架(对象关系映射)不需要写sql语言。 但是如果需要对sql语句进行优化,比较困难 应用场景:适用于需求变化不多的小中型项目,比如后台管理系统 mybatis:专注于sql本身,需要程序员自己编写sql语句,优化比较方便 应用场景:需求变化较多的,互联网项目 mybatis开发dao方法 sqlsession使用范围 通过fatory创建sqlsession 工厂通过builder进行创建 使用单例模式管理sqlsessionFactory(工行内模式 将来使用spring与mybatis整合之后,使用单例模式管理sqlsessionFactory sqlsession是一个面向用户的接口你 用于操作数据库的方法 selectOne selecttList sqlsession是不安全的 还有数据域属性 原始开发dao方法 程序员需要写dao接口和实现类 需要向dao实现类中注入sqlsessionfatory,在方法体内通过sqlsessionfatory创建sqlsession dao接口 public interface UserDao { //根据id查询用户信息 public User findUserById(int id) throws Exception; //添加用户信息 public

初学MyBatis

℡╲_俬逩灬. 提交于 2020-01-19 01:57:45
期末英语不知道复习什么,就二刷了MyBatis的视频,做个笔记,为以后回顾用吧 SSM框架在web项目中所处的位置 MyBatis MyBatis:所属dao层,简化了数据库操作,使用动态sql让程序员只需要关注sql语句 MyBatis架构图: Part.1 HelloMyBatis:搭建MyBatis HelloWorld项目 Part.2使用MyBatis对表进行增、删、改、查操作; 我的理解:注意参数的映射,以及记得bean中的实体最好复写tostring方法 Part.3 MyBatis Mapper动态代理开发4+1 (4原则+1注意): 1、接口方法名需要与mapper.xml的要调用的sql语句的id一致; 2、接口的形参类型需要与mapper.xml parameterType一致; 3、接口的返回值需要与mapper.xml resultType一致; 4、mapper.xml中namespace要与接口的全包名一致; 5、注意mapper动态代理开发中,根据返回值类型来自动选择; 我的理解:即一个接口对应一个xml文件,语法很重要 Part.4 MyBatis 主配置文件SqlMapConfig.xml说明:(注意顺序) 1、properties(读取配置文件) 2、settings(全局配置参数) 3、typeAliases(类型别名) 4