先比较下jdbc编程和hibernate编程各自的优缺点.    JDBC:    我们平时使用jdbc进行编程,大致需要下面几个步骤:    1,使用jdbc编程需要连接数据库,注册驱动和数据库信息    2,操作Connection,打开Statement对象    3,通过Statement对象执行SQL,返回结果到ResultSet对象    4,使用ResultSet读取数据,然后通过代码转化为具体的POJO对象    5,关闭数据库相关的资源   jdbc的缺点:   一:工作量比较…
文章大纲 一.Netty基础介绍二.Netty代码实战三.项目源码下载四.参考文章   一.Netty基础介绍 1. 简介 官方定义为:”Netty 是一款异步的事件驱动的网络应用程序框架,支持快速地开发可维护的高性能的面向协议的服务器和客户端” 2. 主要特性 Netty有很多重要的特性,主要特性如下:(1)优雅的设计(2)统一的API接口,支持多种传输类型,例如OIO,NIO(3)简单而强大的线程模型(4)丰富的文档(5)卓越的性能(6)拥有比原生Java API 更高的性能与更低的延迟(7…
文章大纲 一.理解微服务二.Spring Cloud知识介绍三.Spring Cloud全家桶四.参考资料下载五.参考文章 一.理解微服务   我们通过软件架构演进过程来理解什么是微服务,软件架构的发展经历了从单体结构.垂直架构.SOA架构到微服务架构的过程. 1. 单体架构 1.1 特点(1)所有的功能集成在一个项目工程中.(2)所有的功能打一个war包部署到服务器.(3)应用与数据库分开部署.(4)通过部署应用集群和数据库集群来提高系统的性能. 1.2 优点(1)项目架构简单,前期开发成本低…
文章大纲 一.FastDFS介绍二.FastDFS安装与启动(Linux系统)三.Java客户端上传图片四.参考文章   一.FastDFS介绍 1. 什么是FastDFS FastDFS是用C语言编写的一款开源的分布式文件系统.FastDFS为互联网量身定制,充分考虑了冗余备份.负载均衡.线性扩容等机制,并注重高可用.高性能等指标,使用FastDFS很容易搭建一套高性能的文件服务器集群提供文件上传.下载等服务. 2. FastDFS架构 FastDFS架构包括 Tracker server和S…
文章大纲 一.jdbc介绍二.Mybatis介绍三.Hibernate介绍四.jdbc.Mybatis.Hibernate比较五.参考文章   一.jdbc介绍 1. jdbc编程步骤 (1)加载数据库驱动(2)创建并获取数据库链接(3)创建jdbc statement对象(4)设置sql语句(5)设置sql语句中的参数(使用preparedStatement)(6)通过statement执行sql并获取结果(7)对sql执行结果进行解析处理(8)释放资源(resultSet.prepareds…
JDBC: 我们平时使用jdbc进行编程,大致需要下面几个步骤: 1,使用jdbc编程需要连接数据库,注册驱动和数据库信息 2,操作Connection,打开Statement对象 3,通过Statement对象执行SQL,返回结果到ResultSet对象 4,使用ResultSet读取数据,然后通过代码转化为具体的POJO对象 5,关闭数据库相关的资源 jdbc的缺点: 一:工作量比较大,需要连接,然后处理jdbc底层事务,处理数据类型,还需要操作Connection,Statement对象和…
首先来看一下原生JDBC访问数据库的代码: public static void main(String[] args) { // 数据库连接 Connection connection = null; // 预编译的Statement,使用预编译的Statement提高数据库的性能 PreparedStatement statement = null; // 结果集 ResultSet resultSet = null; try { // 加载数据库驱动 Class.forName("com.…
首先来看一下原生JDBC访问数据库的代码: public static void main(String[] args) { // 数据库连接 Connection connection = null; // 预编译的Statement,使用预编译的Statement提高数据库的性能 PreparedStatement statement = null; // 结果集 ResultSet resultSet = null; try { // 加载数据库驱动 Class.forName("com.…
本博客的目的:①总结自己的学习过程,相当于学习笔记 ②将自己的经验分享给大家,相互学习,互相交流,不可商用 内容难免出现问题,欢迎指正,交流,探讨,可以留言,也可以通过以下方式联系. 本人互联网技术爱好者,互联网技术发烧友 微博:伊直都在0221 QQ:951226918 -----------------------------------------------------------------------------------------------------------------…
一.传统的JDBC编程 在java开发中,以前都是通过JDBC(Java Data Base Connectivity)与数据库打交道的,至少在ORM(Object Relational Mapping)框架没出现之前是这样,目前常用的ORM框架有JPA.hibernate.mybatis.spring jdbc等,我一开始也是使用JDBC编程,后面开始使用hibernate,有一次开发一个CRM管理系统使用的是Spring JDBC操作数据库,但个人还是不太喜欢这个框架,本人目前使用的最多还是…
在学习使用mybatis之前,先比较下jdbc编程和hibernate编程各自的优缺点. JDBC: 我们平时使用jdbc进行编程,大致需要下面几个步骤: 1,使用jdbc编程需要连接数据库,注册驱动和数据库信息 2,操作Connection,打开Statement对象 3,通过Statement对象执行SQL,返回结果到ResultSet对象 4,使用ResultSet读取数据,然后通过代码转化为具体的POJO对象 5,关闭数据库相关的资源 jdbc的缺点: 一:工作量比较大,需要连接,然后处…
MyBatis框架介绍 1. 什么是框架 (1) 框架是偷懒的程序员将代码进行封装, 之后进行重复使用的过程. (2) 框架其实是一个半成品, 以连接数据库为例, 连接数据库使用的驱动, url, 用户名 , 密码必须告知框架. (3) 程序员在使用框架的时候, 通常以配置文件的方式告知框架需要的信息, 多数会使用 xml 作为框架的配置文件. (4) 因此, 在使用框架开发代码时, 需要编写配置文件, 代码的编写反而会减少. (5) 框架都是第三方提供的, 提供的都是 jar 包. 因此, 使…
MyBatis Generator介绍 MyBatis Generator (MBG) 是一个Mybatis的代码生成器 MyBatis 和 iBATIS. 他可以生成Mybatis各个版本的代码,和iBATIS 2.2.0版本以后的代码. 他可以内省数据库的表(或多个表)然后生成可以用来访问(多个)表的基础对象. 这样和数据库表进行交互时不需要创建对象和配置文件. MBG的解决了对数据库操作有最大影响的一些简单的CRUD(插入,查询,更新,删除)操作. 您仍然需要对联合查询和存储过程手写SQL…
首先介绍一下Mybatis是什么?mybatis是Java的持久层框架, JAVA操作数据库是通过jdbc来操作的,而mybatis是对jdbc的封装. 使用mybatis之后,开发者只需要关注sql语句本身,而不必花时间去注册驱动.创建connection.statement.手动设置参数,结果集检索等jdbc繁琐的代码. mybatis基本过程:Mybatis通过xml或注解的方式将要执行的各种statement(statement.preparedStatemnt.CallableStat…
iBatis & myBatis & Hibernate 要点记录 这三个是当前常用三大持久层框架,对其各自要点简要记录,并对其异同点进行简单比较. 1. iBatis iBatis主要完成两件事情: 根据JDBC规范建立与数据库之间的连接.并进行连接管理与事务管理: 通过反射打通JAVA对象与数据库参数交互之间的相互转换关系. 基本使用步骤: 在xml配置文件中配置上数据库的连接池信息.事务相关的参数等,并指定要加载的SqlMapConfig文件: 在数据表对应的SqlMap xml配置…
框架辅助开发者进行开发,半成品软件,开发者与框架进行合作开发 Hibernate3Hibernate是一种基于Java的轻量级的ORM框架 基于Java:底层实现是Java语言,可以脱离WEB,在纯JAVA环境下运行 轻量级:与重量级比对,消耗资源比较小,运算速度比较快 ORM:(ORMapping:Object Relation Mapping)对象关系映射 O:Java对象 R:关系型数据库表 M:映射(map:地图 映射) 对象与表的对应关系 1.类与表对应 2.类的属性与表的字段对应 3…
一.基本概念和介绍 数据持久化的概念 数据持久化是将内存中的数据模型转换为存储模型,以及将存储模型转换为内存中的数据模型的统称.例如,文件的存储.数据的读取等都是数据持久化操作.数据模型可以是任何数据结构或对象模型.XML.二进制流等. 当我们编写应用程序操作数据库,对表数据进行增删改查的操作的时候就是数据持久化的操作. Mybatis框架简介 MyBatis框架是一个开源的数据持久层框架.它的内部封装了通过JDBC访问数据库的操作,支持普通的SQL查询.存储过程和高级映射,几乎消除了所有的JD…
1.前言 hibernate与mybatis的位置一样,都是属于DAO层的框架,代替我们原来的JDBC操作数据库,属于ORM(object relationg mapping. 对象关系映射)框架.ORM分为四级,hibernate属于4级:完全面向对象操作数据库,mybatis属于2级,半自动化的ORM框架,dbutils属于1级. 2.使用hibernate的好处  操作数据库的时候,可以以面向对象的方式来完成.不需要书写SQL语句 3.搭建开发环境 1.导包: 如果没有maven依赖的话需…
Mybatis核心成员 Configuration        MyBatis所有的配置信息都保存在Configuration对象之中,配置文件中的大部分配置都会存储到该类中 SqlSession            作为MyBatis工作的主要顶层API,表示和数据库交互时的会话,完成必要数据库增删改查功能 Executor               MyBatis执行器,是MyBatis 调度的核心,负责SQL语句的生成和查询缓存的维护 StatementHandler 封装了JDBC…
1. 概念: 逆向工程就是根据数据库中对应的表在项目工程中生成相应的MyBatis代码(XXXMapper.java/XXXMapper.xml/Moudle(XXX)),逆向工程生成的代码可以进行简单的数据库操作,能够节省不少的时间,MyBatis官方提供了相应的代码,所以在实际中运用较多. 2. 操作配置 1. 下载相应的jar包,主要有两个:   下载链接(文章结尾附有完整项目代码)://download.csdn.net/download/weixin_45910396/12013449…
非原创,搬运至此以作笔记, 原地址:http://www.cnitblog.com/houcy/archive/2012/11/28/86801.html 1.用top命令查看哪个进程占用CPU高gateway网关进程14094占用CPU高达891%,这个数值是进程内各个线程占用CPU的累加值.   PID USER      PR  NI  VIRT  RES  SHR S %CPU %MEM    TIME+  COMMAND     14094 root      15   0  315m…
以查询一个用户信息(id,name)为例: JDBC 1. 获取一个connection 2. 生成一个statement 3. 拼接SQL语句 4. 查询对象,获取结果集(假设已经找到我们需要的对象) 5. 读取结果集信息,封装成需要的用户对象 6. 关闭结果集,statement,connection Hibernate 1. 建立用户信息对象,并配置好对象关系映射 2. 获取一个Session对象 3. 生产一个Query对象 4. 编写HQL语句 5. 执行Query.list()方法,…
一身转战三千里,一剑曾当百万师 如果你在之前没有学过SSH三大框架,那么你之前肯定是通过JDBC来对数据库进行操作.现在,你完全可以把跟数据库交互的操作直接交给Hibernate. Hibernate是一个开放源代码的对象关系映射框架,它对JDBC进行了非常轻量级的对象封装,它将POJO与数据库表建立映射关系,是一个全自动的 orm框架,hibernate可以自动生成SQL语句,自动执行,使得Java程序员可以随心所欲的使用对象编程思维来操纵数据库. Hibernate可以应用在任何使用JDBC…
相信看过我的上一篇博客的同学都已经对mybatis有一个初步的认识了.这篇博客主要是对mybatis的mapper代理做一下简单的介绍,希望能够帮助大家共同学习. 我的上一篇博客:mybatis入门介绍 相信用过mybatis的程序员都知道mybatis有两种配置文件,这个在上一篇博客中也写到.为了这篇博客的整体性,在这里重复一次. 这两种配置文件分别是: SqlMapConfig.xml(mybatis全局配置文件,名称不固定,用来配置运行环境(数据源.事务) XXXmapper.xml 主要…
非原创,具体出自哪里忘了,如果侵害您的利益,请联系我. CSS样式命名整理 页面结构 容器: container/wrap 整体宽度:wrapper 页头:header 内容:content 页面主体:main 页尾:footer 导航:nav 侧栏:sidebar 栏目:column 中间内容:center 导航 导航:nav 导航:mainbav/globalnav 子导航:subnav 顶导航:topnav 边导航:sidebar 左导航:leftsidebar 右导航:rightside…
1.RAC集群数据库连库代码示例(jdbc thin方式,非oci):jdbc.driverClassName=oracle.jdbc.driver.OracleDriverjdbc.url=jdbc:oracle:thin:@(description =(address=(protocol=tcp)(host=实例1vip)(port=1521))(address=(protocol=tcp)(host=实例2vip)(port=1521))(load_balance = yes)(failo…
非原创.来自博客园老赵. public class ViewManager<T> where T : System.Web.UI.UserControl { private System.Web.UI.Page m_pageHolder; public T LoadViewControl(string path) { this.m_pageHolder = new System.Web.UI.Page(); return (T)this.m_pageHolder.LoadControl(pat…
因项目需要,在网上找来一套表达式解析方法,由于原来的方法太过于零散,不利于移植,现在整理在同一文件内: 文件中包含5个内部类,源码如下: import java.util.ArrayList; import java.util.Date; import java.util.List; import java.util.Stack; /** * @项目名称: sunson_pams * @类名称: FormulaUtils * @类描述: 非原创(慎用) * @创建人: 唐泽齐 * @创建时间:…
一.MyBatis缓存介绍 正如大多数持久层框架一样,MyBatis 相同提供了一级缓存和二级缓存的支持 一级缓存: 基于PerpetualCache 的 HashMap本地缓存.其存储作用域为 Session.当 Session flush 或 close 之后,该Session中的全部 Cache 就将清空. 2. 二级缓存与一级缓存其机制同样,默认也是採用 PerpetualCache,HashMap存储,不同在于其存储作用域为 Mapper(Namespace),而且可自己定义存储源,如…
相同点:都是数据库操作的中间件,都不是线程安全需要即时关闭,都可以对数据库操作进行显式处理. 不同:jdbc使用标准sql语言,hibernate使用HQL,操作对象jdbc直接操作数据传送到数据库,hibernate操作的是对象,然后更新到数据库:jdbc是瞬时的,变量数值不与数据库实时同,hibernate操作持久,数据和数据库中保持一致. JDBC Scrollable Result (消耗时间最少) < Hibernate List < JDBC Result < Hiberna…