简介: JPA(java Persistence API)和SpringData是两个范畴的概念.spring data jpa是spring公司下的spring data项目的一个模块. spring data jpa定义了接口来进行持久层的编写规范,同时还大大简化了持久层的CRUD操作. 从此可以看出,spring data jpa与jpa之间并没有直接的关系. jpa是由sun公司定义的持久层规范,但是jpa 并没有做任何简化,其中只有一堆接口. 而spring data jpa中不仅有接…
简介: 原名iBatis,SpringBoot中使用MyBatis: pom.xml <dependency> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter-web</artifactId> </dependency> <dependency> <groupId>org.mybatis.spring.boo…
简介: JdbcTemplate是Spring提供的一套JDBC模板框架,利用AOP技术解决直接使用JDBC带来的重复代码问题.它没有MyBatis使用那么灵活,但是却比直接使用JDBC方便得多.SpringBoot中对JdbcTemplate的使用提供了自动化配置类JdbcTemplateAutoConfiguration. 部分源码: @Configuration @ConditionalOnClass({DataSource.class, JdbcTemplate.class}) @Con…
新建项目 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.or…
java.sql.SQLException: The server time zone value '�й���׼ʱ��' is unrecognized or represents more than one time zone. You must configure either the server or JDBC driver (via the serverTimezone configuration property) to use a more specifc time zone v…
一.持久层技术 二.JdbcTemplate 开发步骤: 1. 导入相关的jar包 2. 配置连接池(数据源) 将参数设置到属性文件中: 3. 创建表 4. 编写实体类 5. Dao层实现 5.1 继承JdbcDaoSupport 5.2 直接注入JdbcTmplate 6. 测试 JdbcTemplate 的CRUD(待整理) 三.Hibernate 四.MyBatis 一.持久层技术 Spring 中自带的 JdbcTemplate Hibernate Mybatis 二.JdbcTempl…
SpringBoot整合视图层技术 在目前的企业级应用开发中,前后端分离是趋势,但是视图层技术还占有一席之地.Spring Boot对视图层技术提供了很好的支持,官方推荐使用的模板引擎是Thymeleaf,不过像FreeMarker也支持,JSP 技术在这里并不推荐使用. Thymeleaf 配置 引入jar包: <dependency> <groupId>org.springframework.boot</groupId> <artifactId>spri…
这一节我们主要学习如何整合视图层技术: Jsp Freemarker Thymeleaf 在之前的案例中,我们都是通过 @RestController 来处理请求,所以返回的内容为json对象.那么如果需要渲染html页面的时候,要如何实现呢? Spring Boot推荐使用模板引擎 模板引擎实现伪html 达到seo优化 使动态页面静态化 在动态html上实现Spring Boot依然可以完美胜任,并且提供了多种模板引擎的默认配置支持,所以在推荐的模板引擎下,我们可以很快的上手开发动态网站.…
闭关修炼180天--手写持久层框架(mybatis简易版) 抛砖引玉 首先先看一段传统的JDBC编码的代码实现: //传统的JDBC实现 public static void main(String[] args) { Connection connection = null; PreparedStatement preparedStatement = null; ResultSet resultSet = null; try { //加载数据库驱动 Class.forName("com.mys…
目录 Spring Boot 整合视图层技术 Spring Boot 整合jsp Spring Boot 整合freemarker Spring Boot 整合视图层技术 Spring Boot 整合jsp Spring Boot 整合Freemarker Spring Boot 整合 Thymeleaf (重点讲解,官方推荐) Spring Boot 整合jsp 步骤: 新建maven project的Spring Boot 的jar项目 打开pom.xml文件 加入jsp依赖 代码如下: <…
一.Springboot整合mybatis maven中添加对数据库与mybatis的依赖 <dependencies> <dependency> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter-web</artifactId> </dependency> <dependency> <groupId&g…
每个MyBatis应用程序主要都是使用SqlSessionFactory实例的,一个SqlSessionFactory实例可以通过SqlSessionFactoryBuilder获得.SqlSessionFactoryBuilder可以从一个xml配置文件或者一个预定义的配置类的实例获得. 1.使用Generator自动生成Dao层,Model层和Mapper层. MyBatis Generator下载地址:http://www.mybatis.org/generator/ MyBatis Ge…
前文 1.为什么使用springBoot 众所周知,spring是Java在搭建后台时非常实用的框架,其整合了市场上几乎所有的主流框架于一体,使后端编程更加高效.快速: 而SpringBoot更是把spring的优势发挥到了极致,声称零配置,简化版spring,只需要使用几行代码,是一个微服务框架. 它确实做到了,这也是他的牛逼之处,成功不是没有道理. 搭载环境 1.IDE工具:Eclipse 2.JDK版本:1.8+ 3.持久层:Mybaits 4.数据库:Mysql 步骤 [01]创建一个简…
MyBatis 简介 MyBatis 是一个基于 Java 的持久层框架,它内部封装了 JDBC,使开发者只需关注 SQL 语句本身,而不用再花费精力去处理诸如注册驱动.创建 Connection.配置 Statement 等繁杂过程. Mybatis 通过 xml 或注解的方式将要执行的各种 Statement.PreparedStatement 等配置起来,并通过 Java 对象和 Statement 中 SQL 的动态参数进行映射生成最终执行的 SQL 语句,最后由 MyBatis 框架执…
1.mybatis框架介绍: MyBatis 本是apache的一个开源项目iBatis, 2010年这个项目由apache software foundation 迁移到了google code,并且改名为MyBatis .2013年11月迁移到Github.MyBatis是一个优秀的持久层框架,它对jdbc的操作数据库的过程进行封装,使开发者只需要关注 SQL 本身,而不需要花费精力去处理例如注册驱动.创建connection.创建statement.手动设置参数.结果集检索等jdbc繁杂的…
MyBatis 的前身就是 iBatis .是一个数据持久层(ORM)框架. iBATIS一词来源于“internet”和“abatis”的组合,是一个基于Java的持久层框架.iBATIS提供的持久层框架包括SQL Maps和Data Access Objects(DAO),同时还提供一个利用这个框架开发的 JPetStore实例. 看到Mybatis的框架图,可以清晰的看到Mybatis的整体核心对象,我更喜欢用自己的图来表达Mybatis的整个的执行流程.如下图所示: 原理详解: MyBa…
本篇随笔接上一篇文章:Springboot整合Nacos配置中心(一),主要记录Nacos多环境的配置的方法 Nacos多环境的配置 方法一: 1.在项目中的bootstrap.yaml文件中配置激活指定的配置文件 spring: application: name: gabriel cloud: nacos: config: server-addr: 127.0.0.1:8848 file-extension: yaml profiles: active: dev 2.相应的在Nacos的网页…
一.PageHelper分页插件的使用 PageHelper是一款MyBatis的分页插件,只需要简单的配置,然后直接调用方法就可以. 1.配置PageHelper插件 在mybatis-config.xml中,配置如下 <plugins> <plugin> inteceptor="com.github.pagehelper.PageInterceptor" </plugin> </plugins> 具体mybatis-config.xm…
demo环境: JDK 1.8 ,Spring boot 1.5.14 一 整合durid 1.添加druid连接池maven依赖 <dependency> <groupId>com.alibaba</groupId> <artifactId>druid</artifactId> <version>1.0.29</version> </dependency> 2.配置多数据源Druid 2.1 applicat…
一.基于MyBatis的对象关系配置(基于XML方式的配置) 注: MyBatis不能像Hibernate那样,在实体类上配置上注解或者配置xml映射文件,系统启动后就可以自动创建表.因为MyBatis是基于SQL语句的方式来完成ORM映射的,不是像Hibernate那样将字段与属性完全映射出来,所以不能实现自动建表. 1.一对多的关系 Category分类和Product产品是一对多的关系.一个分类对应多个产品 1.1.修改Category的pojo实体类,给分类提供产品Product的集合…
一.MyBatis学习 平时我们都用JDBC访问数据库,除了自己需要写SQL,还要操作Connection,Statement,ResultSet这些. 使用MyBatis,只需要自己提供SQL语句,其他的工作,建立数据库连接,Statement等一些JDBC相关异常处理工作都交给了MyBatis去做了.只关心增删改查操作层面上. MyBatis的工作原理: 每一个MyBatis的应用程序都可以一个SqlSessionFactory对象的实例为核心.首先是通过字节流InputStream通过Re…
1 整合Servlet 方式一1.1通过注解扫描完成Servlet 组件的注册      1.1.1创建Servlet /*** 整合Servlet 方式一*/@WebServlet(name = "FirstServlet",urlPatterns = "/first")public class FirstServlet extends HttpServlet {public void doGet(HttpServletRequest request,HttpSe…
一.基于注解方式的CRUD 把xml方式的CRUD修改为注解方式 之前在xml中配置,是在<mapper></mapper>标签下写CRUD <mapper namespace="com.demo.pojo"> <select id="listProduct" parameterType="Product"> select * from product_table </select> &…
一.基于MyBatis动态SQL语句 1.if标签 实体类Product的字段比较多的时候,为了应付各个字段的查询,那么就需要写多条SQL语句,这样就变得难以维护. 此时,就可以使用MyBatis动态SQL里的if标签 <select id="listProduct" resultType="Product"> select * from product_table <if test="name!=null"> where…
一.基于MyBatis的CRUD 1.首先是配置文件Category.xml修改 一次性修改配置文件Category.xml,提供CRUD对应的sql语句. <?xml version="1.0" encoding="utf-8"?> <!DOCTYPE mapper PUBLIC "-//mybatis.rog//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-…
1.默认策略: 静态资源的位置一共5个,开发者可以将静态资源放到其中任意一个,分别是: "classpath:/META-INF/resources/", "classpath:/resources/", "classpath:/static/", "classpath:/public/", "/". 这5个位置是按优先级排列的,若过放入相同资源比如图片,按照优先级依次往下查找,IDEA创建SpringBo…
public class WebInit implements WebApplicationInitializer { @Override public void onStartup(ServletContext container) throws ServletException { //项目启动则执行 : //前端控制器 //对比xml配置,配置在web.xml中的 /* * <servlet> * <servlet-name>dispatcherServlet</ser…
将配置文件进行更换: 在一中是引入: <!--引入dubbo start依赖--> <!-- <dependency> <groupId>com.alibaba.spring.boot</groupId> <artifactId>dubbo-spring-boot-starter</artifactId> <version></version> </dependency> <depend…
1.SpringBoot分模块 分模块就是将一个项目分成多个模块,即maven项目. 1)首先创建一个springboot的项目: 第一步:选择springboot的项目 第二步:填写项目的相关信息,主要是下图的红框部分,改成自己的即可,这里就使用默认的,项目名是demo 第三步:选择所需要的依赖,这里就只添加web和lombok,其他的后面需要再进行依赖 点击完成后,等待加载完成. 2)创建一个项目启动器: 第一步:选中刚建的项目,右键创建一个maven的模块,填写模块名称,这里就为proje…
持久层整合总述 1.Spring 框架为什么要与持久层技术进行整合? JavaEE开发需要持久层进行数据库的访问操作 JDBC.Hibernate.MyBatis 进行持久开发过程存在大量的代码冗余 Spring 基于模板设计模式对于上述的持久层技术进行了封装 2.Spring 可以与哪些持久层技术进行整合? JDBC -- JDBCTemplate Hibernate(JPA)-- HibernateTemplate MyBatis -- SqlSessionFactoryBean.Mappe…