mapper

Spring+SpringMVC+mybatis整合以及注解的使用(三)

让人想犯罪 __ 提交于 2020-02-03 22:50:10
1.包结构: 2.spring配置:基本的DAO配置以及扫描Mapper(扫描出来的Mapper为首字母小写) 1 <?xml version="1.0" encoding="UTF-8"?> 2 <beans xmlns="http://www.springframework.org/schema/beans" 3 xmlns:context="http://www.springframework.org/schema/context" xmlns:p="http://www.springframework.org/schema/p" 4 xmlns:aop="http://www.springframework.org/schema/aop" xmlns:tx="http://www.springframework.org/schema/tx" 5 xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" 6 xsi:schemaLocation="http://www.springframework.org/schema/beans http://www.springframework.org/schema/beans/spring-beans-4.0.xsd 7 http://www.springframework.org

SSM框架--mybatis

醉酒当歌 提交于 2020-02-03 07:15:19
五.mybatis相关 1.jdbc介绍 JDBC是Java制定的接口,数据库产商依照该接口编写与自家数据库配套的实现类。比如MySQL、Oracle、SqlServer等都有自己的不同实现,这些实现类的集合既是我们笼统意义上的“驱动”。 2.preparedstatement和statement的区别 数据库系统会对sql语句进行预编译处理(如果JDBC驱动支持的话),预处理语句将被预先编译好,语法语义解析优化sql语句,指定执行计划执行并返回结果 但是很多情况,我们的一条sql语句可能会反复执行,或者每次执行的时候只有个别的值不同(比如select 的where子句值不同,update的set子句值不同,insert 的values值不同).如果每次都需要经过上面的词法语义解析,语句优化,制定执行计划等,则效率就明显不行了 所谓预编译语句就是将这类语句的值用占位符替代,可以视为将sql语句模板或者说参数化 什么是预编译(将这条sql(解析完成)语句放入缓存执行计划中,如果有相同的sql语句进来,就会直接执行该sql(解析完成)语句,省去解析的过程) 下面列出PreparedStatement的几点优势。 1.PreparedStatement可以写动态参数化的查询用PreparedStatement你可以写带参数的sql查询语句

type-aliases-package的作用

会有一股神秘感。 提交于 2020-02-03 00:43:35
mapper.xml文件中resultMap的type或者parameterType会使用自定义的pojo, 此时可以用完全限定名来指定这些POJO的引用,例如 <select id="getUsers" resultType="com.e3mall.cms.dao.mapper.User">, 又或者你可以通过在application.properties中指定POJO扫描包来让mybatis自动扫描到自定义POJO,如下: mybatis.type-aliases-package=com.e3mall.cms.dao.mapper 来源: https://www.cnblogs.com/tianphone/p/10930489.html

解决 org.apache.ibatis.binding.BindingException: Invalid bound statement (not found) 以及MyBatis批量加载xml映射文件的方式

♀尐吖头ヾ 提交于 2020-02-02 23:14:23
  错误 org.apache.ibatis.binding.BindingException: Invalid bound statement (not found) 的出现,意味着项目需要xml文件来映射SQL语句,如果只使用接口进行SQL映射,不在本文讨论范围内。   我的项目的环境是IDEA下的Maven工程,而IDEA下的MAVEN工程中有一个特点就是,在src/main/java中,只有.java文件默认会被编译,而xml文件不会被编译。( 出处 )   的确这样的做法也比较符合Maven目录框架的初衷:即在src/main/java中只存放.java的源码文件。   在使用MyBatis Generator进行逆向生成时是可以指定mapper接口和对应的xml文件的位置的,有的人也喜欢把它们指定在java目录下的同一个包(如:src/main/java/com/abc/mapper)中,而我就喜欢指定在不同的目录下(接口文件:src/main/java/com/abc/mapper,xml文件:scr/mian/resources/mapper)。我们分开讨论 一、Mapper接口文件和对应的XML在同一个目录下   一般来说,接口文件和XML文件是同名一一对应的。   这种情况就是要改变IDEA中MAVEN工程默认不编译src/main/java中的xml文件的行为

ssm中mapper注入失败的传奇经历

我的梦境 提交于 2020-02-02 20:58:24
最近因为要测试一个功能,需要用最短的时间来启动服务,开启测试程序,但平常所用的框架中已经集成了各种三方的东西,想着那就再重新搭建一个最简单的ssm框架吧。 搭建可参考: 简单ssm最新搭建 搭建过程并不麻烦,整合springmvc测试成功,接口正常调用,最后整合mybatis后,在service中注入调用时出现了问题,启动服务时报错如下:      No qualifying bean of type 'com.test.mapper.TpmTestLogMapper' available: expected at least 1 bean which qualifies as autowire candidate. Dependency annotations: {@org.springframework.beans.factory.annotation.Autowired(required=true)} 一、bug解决 首先先说一下我的 错误原因 :web.xml中没有配置监听器listener,也就是下边这些代码: (其实配置了,但是不知道为什么最后发现是注释掉的,真的 头大!!! )   <!-- Spring监听器 --> <listener> <listener-class>org.springframework.web.context

MyBatis入门到自定义MyBatis框架

纵然是瞬间 提交于 2020-02-02 18:32:33
第一个 MyBatis 程序(XML配置) 在上一篇中,简单总结了一下原生 JDBC 的一些局限性,同时引出了 MyBatis 这个框架,算较为详细的整理如何搭建 MyBatis 的工作环境 这一篇,我们在开篇,现在搭建好工作环境的基础上,开始我们的第一个例程,但是,简单的让程序跑起来以后,我们却要讲解如何自定义 MyBatis 框架,它的意义是什么呢? 虽然第一个例程虽然比较简单,但是其中有很多点却是容易引起疑惑的,例如为什么用工厂模式后还有构建者对象,通过自定义框架,可以让自己对于 MyBatis 的理解更加深刻,从而更好的应用这个框架 首先,我们想让我们的第一个程序运行起来 1、搭建好环境,在主配置文件 (SqlMapConfig.xml) 中指定映射配置文件的位置 <!-- 指定映射配置文件的位置 --> < mappers > < mapper resource = " cn/ideal/mapper/UserMapper.xml " /> </ mappers > 2、在test文件夹下,创建一个如图结构测试类 由于我们的 mapper 接口中写的方法是一个 查询所有信息的方法,所以我们直接如下图所写就行了,这就是第一个例程,后面我们会详细的讲到其中的点,先让自己的程序跑起来看看 public class MyBatisTest { public static void

ASP.NET Core WebAPI学习-2

本秂侑毒 提交于 2020-02-02 01:48:17
目录: ASP.NET Core WebAPI学习-1 ASP.NET Core WebAPI学习-2 ASP.NET Core WebAPI学习-3 ASP.NET Core WebAPI学习-4 ASP.NET Core WebAPI学习-5 ASP.NET Core WebAPI学习-6 使用Controller ApiController特性的作用: ApiController是应用在Controller类,会启用以下行为: 要求使用特性路由(Attribute Routing) 自动HTTP 400响应 推断参数的绑定源 Mulitpart/form-data请求推断 错误状态代码的问题详细信息 CompanyController 继承自ControllerBase 使用[ApiController]特性 配置路由 [Route(template: "api/companies")] [ApiController] public class CompaniesController : ControllerBase { private readonly ICompanyRepository companyRepository; private readonly IMapper mapper; //配置依赖注入 public CompaniesController

JAVA项目结构(基于Springboot+Mybatis项目的结构搭建)

谁说胖子不能爱 提交于 2020-02-02 00:24:28
主要的目录结构 本文以一个简单的Demo为例,介绍Java的基于springboot+Mybatis架构的项目。主要目录结构如下。 一、数据库结构设计 第一步,编写建表语句,这里以一个房源信息表为例,编写完以后将sql文件放在sql文件夹下。 在application.yml中的schema下添加你所写的sql文件的名称,在编译的时候将会为你字段创建对应数据表(创建完可以注释掉)。 二、bean类(实体类) 第二步,主要是用来封装对象,这个类里面全部都是对象的属性值(通常对应数据库的字段),及对应的属性取值getter()方法、赋值setter()方法(可以按 alt+insert 键快捷生成)。 三、controller层(控制层) 编写完bean实体类后,开始编写controller类,controller层主要是负责具体的业务模块流程的控制,在此层要调用service层的接口来控制业务流程。 四、service层(服务层) 第四步是编写service层,创建一个接口类和一个具体实现类。service层主要负责业务模块的逻辑处理,首先通过编写接口类,再编写其实现类(主要是负责业务的一些处理操作),这样我们就可以在应用中调用service接口来进行业务处理。封装service层业务逻辑有利于通用的业务逻辑的独立性和重复利用性

Spring基础课九:集成ORM框架Mybatis

a 夏天 提交于 2020-02-01 19:22:48
Mybatis 半自动的orm框架,其后期sql调优更方便 Mybatis的使用 新建Configuration.xml,配置<dataSource); SqlSessionFactoryBuilder通过配置文件创建SqlSessionFacotry,进而创建SqlSession,并且创建SqlSession过程会解析mapper.xml文件,并且为每一个sql语句创建statement缓存起来,真正执行mapper.xml中方法时,会通过方法名从缓存中获取statement,设置参数,执行; SqlSession可以设置事务级别,是否开启事务,默认是开启事务,并且SqlSession和SqlSessionFacotry均有getConfiguration()方法来返回一个Configuration对象,可以用来查看和改变其中的配置参数; 新建ModelMapper.xml文件,并在configuration.xml中添加<mapper); 通过sqlSession来操作ModelMapper.xml中的方法,更优雅的方式是定义一个Mapper接口,接口中方法和mapper.xml中定义的方法一致,并且接口的全限定名和mapper.xml的namespace完全相同,这样通过sqlSession的getMapper方法,可以生成一个动态代理的Mapper实现类

Spring Boot框架 - 数据访问 - 整合Mybatis

被刻印的时光 ゝ 提交于 2020-02-01 14:21:48
一、新建Spring Boot项目 注意:创建的时候勾选Mybatis依赖,pom文件如下 <dependency> <groupId>org.mybatis.spring.boot</groupId> <artifactId>mybatis-spring-boot-starter</artifactId> <version>2.1.1</version> </dependency> 二、配置文件application.properties中配置数据库信息 三、创建两个表(Employee,Department) 四、创建JavaBean 用来封装表的数据 五、使用mybatis对数据库进行操作 配置文件方式 在resources目录下新建目录:        mybatis-config.xml 内容如下 <?xml version="1.0" encoding="UTF-8" ?> <!DOCTYPE configuration PUBLIC "-//mybatis.org//DTD Config 3.0//EN" "http://mybatis.org/dtd/mybatis-3-config.dtd"> <configuration> </configuration> EmployeeMapper.xml 内容如下 1 <?xml version="1.0"