mapper

Spring+SpringMVC+ Mybatis(Spring Tools Suites 3) 简单项目

孤人 提交于 2020-03-11 13:10:22
STS 3 tomcat 9.0, JDK 8 一、项目结构 二、项目依赖 三、创建项目前生成web.xml文件 项目右键--》Java EE Tools-->Generate Deployment Descriptor Stub-->生成web.xml文件 四、创建项目代码 1.创建实体类 例如:Dept.java package com.dxj.entity; import java.sql.Timestamp; import org.apache.ibatis.type.Alias; import lombok.AllArgsConstructor; import lombok.Data; import lombok.NoArgsConstructor; /** * 部门 Dept * @author Administrator * */ @Alias("Dept") @Data @AllArgsConstructor @NoArgsConstructor public class Dept { private Integer id; private String name; private String loc; private Timestamp date; private String person; } 2.创建数据持久层Mapper 例如:DeptMapper

Spring Boot MyBatis

不想你离开。 提交于 2020-03-11 10:17:57
Spring Boot 整合 Druid 概述 Druid 是阿里巴巴开源平台上的一个项目,整个项目由数据库连接池、插件框架和 SQL 解析器组成。该项目主要是为了扩展 JDBC 的一些限制,可以让程序员实现一些特殊的需求,比如向密钥服务请求凭证、统计 SQL 信息、SQL 性能收集、SQL 注入检查、SQL 翻译等,程序员可以通过定制来实现自己需要的功能。 Druid 是目前最好的数据库连接池,在功能、性能、扩展性方面,都超过其他数据库连接池,包括 DBCP、C3P0、BoneCP、Proxool、JBoss DataSource。Druid 已经在阿里巴巴部署了超过 600 个应用,经过多年生产环境大规模部署的严苛考验。Druid 是阿里巴巴开发的号称为监控而生的数据库连接池! 引入依赖 在 pom.xml 文件中引入 druid-spring-boot-starter 依赖 com.alibaba druid-spring-boot-starter 1.1.10 1 2 3 4 5 引入数据库连接依赖 mysql mysql-connector-java runtime 1 2 3 4 5 配置 application.yml 在 application.yml 中配置数据库连接 spring: datasource: druid: url: jdbc:mysql://ip

Spring Boot 2.x基础教程:使用MyBatis的XML配置方式

守給你的承諾、 提交于 2020-03-10 13:20:15
上一篇 我们介绍了如何在Spring Boot中整合我们国人最常用的MyBatis来实现对关系型数据库的访问。但是上一篇中使用了注解方式来实现,而对于很多MyBatis老用户还是习惯于XML的开发方式,所以这篇,我们就来看看如何使用XML的方式来进行开发。 动手试试 本篇将不具体介绍整合MyBatis的基础内容,读者可以阅读 上一篇:Spring Boot 2.x基础教程:使用MyBatis访问MySQL 来了解该部分内容。 下面的实操部分将基于上一篇的例子之后进行,基础工程可通过文末仓库中的 chapter3-5 目录获取。 第一步 :在应用主类中增加mapper的扫描包配置: @MapperScan("com.didispace.chapter36.mapper") @SpringBootApplication public class Chapter36Application { public static void main(String[] args) { SpringApplication.run(Chapter36Application.class, args); } } 第二步 :在第一步中指定的Mapper包下创建User表的Mapper定义: public interface UserMapper { User findByName(@Param("name")

Mybatis中mapper.xml中like模糊查询字符串,日期写法

拟墨画扇 提交于 2020-03-10 05:14:43
字段为字符串格式 <if test="test != null and test != ''"> and TEST like CONCAT(CONCAT('%',#{test}),'%') </if> 字段为日期格式,前端传参格式为2020-03-09 <if test="testdate != null"> and TO_CHAR(TESTDATE, 'yyyy-MM-dd') like TO_CHAR(#{testdate}, 'yyyy-MM-dd') </if> 字段为日期格式,前端传参格式为20200309 由于集成SpringBoot,导致传到后端格式转变成TIMPSTAMP 20200309-01-01 00:00:00, 需要先改entityParent.java的字段由日期格式改为String /** * TESTDATE */ private String testdate; /** * 获取 TESTDATE * * @return */ public String getTestdate(){ return testdate; } /** * 设置 TESTDATE * * @param testdate */ public void setTestdate(String testdate){ this.testdate = testdate; }

spring boot 2.x版本:java.lang.ClassNotFoundException: org.springframework.boot.bind.RelaxedDataBinder

百般思念 提交于 2020-03-09 20:27:06
标题 ##搭建spring boot 2.0.3版本 使用alibaba的druid数据库连接池,com.github.pagehelper的分页插件,启动项目报错。 错误提示:java.lang.ClassNotFoundException: org.springframework.boot.bind.RelaxedDataBinder boot.bind下找不到RelaxedDataBinder这个方法 查看API发现,这个org.springframework.boot.bind 包已经删掉了,导致RelaxedPropertyResolver这个方法已经不可用了 解决方案一:使用jdbc连接      <dependency> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter-jdbc</artifactId> </dependency> 附application.yml配置,建议使用yml格式配置,properties格式的配置文件有时无效果 server: port: 8080 spring: datasource: name: test url: jdbc:mysql://127.0.0.1:3306/mytest username: root password:

IDEA中使用maven整合mybatis与spring

微笑、不失礼 提交于 2020-03-09 16:39:05
整合思路 需要spring通过方式管理SqlSessionFactory. spring和mybatis整合生成代理对象,使用SqlSessionFactory创建SqlSession.(Sping和mybati整合自动完成). 持久层的mapper都需要有spring进行管理. 整合环境 创建一个新的java工程. mybatis的jar包,spring的jar包 spring和mybatis的整合包 参考: SSM的maven工程的创建 代码操作 一、创建配置文件:applicationContext.xml <?xml version="1.0" encoding="UTF-8"?> <beans xmlns="http://www.springframework.org/schema/beans" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:p="http://www.springframework.org/schema/p" xmlns:context="http://www.springframework.org/schema/context" xmlns:mvc="http://www.springframework.org/schema/mvc" xsi:schemaLocation=

mybatis教程-快速启动

妖精的绣舞 提交于 2020-03-09 13:59:21
1、准备数据库表 1.1、创建数据库表 CREATE TABLE `student` ( `sid` int(11) NOT NULL AUTO_INCREMENT, `sname` varchar(100) DEFAULT NULL, `sage` int(11) DEFAULT NULL, `ssex` varchar(100) DEFAULT NULL, PRIMARY KEY (`sid`) ) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 1.2、插入测试数据 insert into student(sname,sage,ssex) values("joker",18,"男") 2、引入依赖 <dependency> <groupId>org.mybatis</groupId> <artifactId>mybatis</artifactId> <version>3.5.3</version> </dependency> <dependency> <groupId>mysql</groupId> <artifactId>mysql-connector-java</artifactId> <version>8.0.19</version> </dependency> <dependency> <groupId>junit</groupId>

Mybatis学习系列二 mapper动态代理方式的crud(MyBatis接口开发)

徘徊边缘 提交于 2020-03-09 13:17:35
具体实现的步骤: 1. 基础环境 mybatis.jar 、 jdbc.jar 、conf.xml、 mapper.xml 2.(不同之处) 约定的目标:省略掉statement,即根据约定 直接可以定位出SQL语句 a. 接口 ,接口中的方法 必须遵循以下约定 * 1.方法名和mapper.xml文件中标签的id值相同 * 2.方法的输入参数 和 mapper.xml文件中标签的parameterType一致 (如果mapper.xml的标签中没有parameterType,则说明 该方法没有输入参数) * 3.方法的返回值 和 mapper.xml文件中标签的resultType类型一致 (无论查询结果是一个 还是多个(student, List<student>)mapper.xml标签中的resultType中 只写一个Student ; 如果没有resultType,则是void 除了以上约定, 要实现 接口中的方法 和Mapper.xml中SQL标签一一对应 还需要: namespace的值 就是接口的全类名 (接口-mapper.xml 一一对应) 匹配的过程:(约定的过程) 1 根据 接口名找到 mapper.xml文件 (根据的是 namespace = 接口全类名) 2 根据 接口的方法名 找到 mapper.xml 文件中的SQL标签 (方法名 =

jackson序列化和反序列化Json

依然范特西╮ 提交于 2020-03-09 08:44:01
jackson包提供了java对象与json相互转换的API。 jackson转换机制 Jackson要求java对象是一个POJO对象,即它是一个普通JavaBean对象。此外,如果字段是用private修饰的,则必须有getXXX()方法,否则字段用public修饰。 json常见格式如下 { "key1" : value, "key2" : [...], "key3" : {...} } jackson把JavaBean对象的每个字段映射为json的键,json键值由JavaBean的getXXX()方法确定。 json键值从形式上看,可以分为基本类型(字符串、数值)、数组、字典。当JavaBean的字段声明为基本类型时对应json的基本类型,当JavaBean声明为数组或链表时对应json的数组类型,当JavaBean声明为字典或对象时对应json的字典类型。 序列化 定义一个符合JavaBean规则的类 package com.weixia.Json; import java.util.ArrayList; import java.util.HashMap; import java.util.Map; public class Bean { private String name; private int[] stature; private Friend friend;

自定义MyBatis

血红的双手。 提交于 2020-03-09 06:54:17
自定义一个简单的查询所有功能,用到xml配置文件和注解两种方式. 先实现功能,再分析。 用户实体类 public class User implements Serializable { private Integer id ; private String username ; private Date birthday ; private String sex ; private String address ; public Integer getId ( ) { return id ; } public void setId ( Integer id ) { this . id = id ; } public String getUsername ( ) { return username ; } public void setUsername ( String username ) { this . username = username ; } public Date getBirthday ( ) { return birthday ; } public void setBirthday ( Date birthday ) { this . birthday = birthday ; } public String getSex ( ) { return sex ;