自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(32)
  • 资源 (3)
  • 问答 (1)
  • 收藏
  • 关注

原创 Web工程和编译结果的结构对应关系

在Web开发过程中,所有的路径或者配置文件中配置的类路径都是以最后的编译结果的结构为依据的,而不是以Web工程的结构。  在Eclipse中查看完整的Web工程的目录结构的方法为:Windows -> Show View -> Others -> Navigator,然后即可在打开的面板中查看Web工程完整的结构。  但是,最后运行的不是Web工程,而是由Web工程编译得到的编译结果,查看

2016-12-30 11:28:07 461

原创 在Spring中实现声明式事务

事务简介  事务管理是企业级应用程序开发中必不可少的技术,用来确保数据的完整性和一致性事务就是一系列的动作,它们被当做一个单独的工作单元。这些动作要么全部完成,要么全部不起作用。   事务的四个关键属性(ACID):   原子性(atomicity):事务是一个原子操作,由一系列动作组成。事务的原子性确保动作要么全部完成要么完全不起作用。   一致性(consistency):一旦所有事务动作

2016-12-28 19:27:11 907

原创 AOP简介和测试

AOP简介  AOP,即面向切面编程,它是Spring中的两个重要内容之一。它是为了把逻辑代码和处理琐碎事务的代码分离开,以便能够分离复杂度。   设想这样一种需求:要实现一个计算器,除了能够进行加减乘除运算之外,还有两个功能,一是日志功能,即能够记录程序的执行情况;二是验证功能,即对要计算的参数进行验证。   传统的实现方法是在每一个方法上都添加日志和验证功能,例如,对于日志功能,实现代码如下

2016-12-28 13:38:38 3436

原创 Spring通过注解配置bean

简介及测试  Spring支持通过注解的方式来配置bean实例。Spring能够从classpath下自动扫描,侦测和实例化具有特定注解的组件。特定组件包括:   @Component:基本注解,标识了一个受Spring管理的组件。   @Repository:标识持久层组件。   @Service:标识服务车(业务层)组件。   @Controller:标识表现层组件。      现在

2016-12-25 11:38:13 4872

原创 mybatis一级缓存和二级缓存

mybatis一级缓存  mybatis一级缓存是SqlSession级别的缓存。   一级缓存的作用域是同一个SqlSession,在同一个sqlSession中两次执行相同的sql语句,第一次执行完毕会将数据库中查询的数据写到缓存(内存),第二次会从缓存中获取数据将不再从数据库查询,从而提高查询效率。当一个sqlSession结束后该sqlSession中的一级缓存也就不存在了。   myb

2016-12-22 11:20:31 791

原创 mybatis调用存储过程

现在通过调用数据库的存储过程,实现这样一种功能:有一张表p_user,当传入参数为0时,返回表中女性记录的数量,否则,返回表中男性记录的数量。   创建数据表并插入数据:create table p_user( id int primary key auto_increment, name varchar(10), sex char(2)); insert in

2016-12-21 21:04:56 655 1

原创 mybatis的动态SQL与模糊查询

现在以一个例子来介绍mybatis的动态SQL和模糊查询:通过多条件查询用户记录,条件为姓名模糊匹配,并且年龄在某两个值之间。    新建表d_user:create table d_user( id int primary key auto_increment, name varchar(10), age int(3)); insert into d_user

2016-12-21 20:22:18 34094 5

原创 mybatis一对多关联关系

在《mybatis一对一关联关系》中,我们以班级和教师的例子介绍了一对一的关联关系,现在引入学生类,一个学生对应一个班级,一个班级对应多个学生,来介绍mybatis如何处理一对多的关联关系。      首先创建表和实体类:CREATE TABLE class( c_id INT PRIMARY KEY AUTO_INCREMENT, c_name VARCHAR(20),

2016-12-20 12:48:14 1157

原创 mybatis一对一关联关系

这篇文章介绍mybatis如何处理一对一的关联关系,假设现在有班级类(表)和教师类(表),一个教师对应一个班级,一个班级也只对应一个教师。    首先创建表并插入数据:CREATE TABLE teacher( t_id INT PRIMARY KEY AUTO_INCREMENT, t_name VARCHAR(20));CREATE TABLE class( c

2016-12-20 10:39:02 545

原创 用mybatis实现简单的CRUD

下面介绍如何用mybatis实现简单的增删改查功能,有两种方式,一种是通过xml配置文件实现,一种是通过注解实现。   仍然通过对user的操作进行说明,新建好项目并导入jar包后,新建数据库和表,并插入两条记录:create database mybatis;use mybatis;CREATE TABLE users(id INT PRIMARY KEY AUTO_INCREMENT, N

2016-12-20 00:09:40 4548

原创 mybatis映射文件中的注释引起的错误

当在mybatis的映射文件中添加了注释后,不知道因为什么原因会导致报错:“元素类型为 "mapper" 的内容必须匹配 "(cache-ref|cache|resultMap*|parameterMap*|sql*|insert*|update*|delete*|select*)+"。”使用ctrl+alt+F规范一下格式貌似可以解决。

2016-12-19 21:30:52 6775 1

原创 mybatis快速入门

Mybatis简介  MyBatis是支持普通SQL查询,存储过程和高级映射的优秀持久层框架。MyBatis消除了几乎所有的JDBC代码和参数的手工设置以及对结果集的检索封装。MyBatis可以使用简单的XML或注解用于配置和原始映射,将接口和Java的POJO(Plain Old Java Objects,普通的Java对象)映射成数据库中的记录。   Mybatis快速入门下面写一个简单的测试

2016-12-19 11:09:25 447

原创 Hibernate管理Session和批量操作

管理Session  Hibernate自身提供了三种管理Session对象的方法:   ① Session对象的生命周期与本地线程绑定   ② Session对象的生命周期与JTA事务绑定   ③ Hibernate委托程序管理Session对象的生命周期      在Hibernate的配置文件中,hibernate.current_session_context_class属性用于指

2016-12-08 13:40:07 3329

原创 Hibernate二级缓存——SessionFactory

Hibernate二级缓存简介  在《Hibernate一级缓存——Session》中介绍了Session级别的一级缓存,例如,当如下的代码执行时,由于一级缓存的作用,只会发送一条select语句:@Test public void testCache(){ Employee employee1 = (Employee) session.get(Employee.class,

2016-12-08 10:52:43 5173

原创 本地SQL检索方式

Hibernate提供本地SQL查询来完善HQL不能涵盖所有的查询特性。例如,可以通过下面的程序完成插入操作:@Test public void testNativeSQL(){ String sql = "INSERT INTO gg_department VALUES(?, ?)"; Query query = session.createSQLQuery

2016-12-07 22:15:25 716

原创 QBC检索方式

QBC查询就是通过使用Hibernate提供的Query By Criteria API来查询对象,这种API封装了SQL语句的动态拼装,对查询提供了更加面向对象的功能接口,下面通过几个Demo来介绍QBC的简单使用方法。@Test public void testQBC1(){ //1. 创建一个 Criteria 对象 Criteria criteria

2016-12-07 22:09:43 2575 1

原创 HQL检索方式

Hibernate检索对象的方式  Hibernate提供了以下集中检索对象的方式:导航对象图检索方式:即根据已经加载的对象导航到其他对象。OID检索方式:按照对象的OID来检索对象。HQL检索方式:使用面向对象的HQL查询语言。QBC检索方式:使用QBC(Query By Criteria)。 API来检索对象,这种API封装了基于字符串形式的查询语句,提供了更加面向对象的查询接口。本地

2016-12-07 21:29:34 1073

原创 Hibernate检索策略

检索策略追求的两个目标是:(以客户和订单的例子说明)不浪费内存:当Hibernate从数据库中加载Customer对象时,如果同时加载所有关联的Order对象,而程序实际上仅仅需要访问Customer对象,那么这些关联的Order对象就白白浪费了许多内存。更高的查询效率:发送尽可能少的SQL语句。类级别的检索策略  类级别可选的检索策略包括立即检索和延迟检索,默认为延迟检索。   立即检索:

2016-12-07 13:38:43 553

原创 Hibernate的多对多关联关系(单向和双向)

n-n(多对多)的关联关系必须通过连接表实现。下面以商品种类和商品之间的关系,即一个商品种类下面可以有多种商品,一种商品又可以属于多个商品种类,分别介绍单向的n-n关联关系和双向的n-n关联关系。单向的n-n关联关系  如果仅使用两张数据表,是不能实现n-n的关联关系的,如下图:      商品ITEM_AA属于商品种类CATEGORY_AA,但是如果商品ITEM_AA又同时属于商品种类CATE

2016-12-06 20:14:00 4152 4

原创 Hibernate的一对一关联关系

Hibernate的一对一关联关系,分为基于外键的一对一关联关系和基于主键的一对一关联关系。在这篇文章中,我们以部门和部门经理的例子来说明,一个部门对应唯一一个部门经理,一个部门经理也对应唯一一个部门。   在基于外键的一对一关联关系中,一端通过一个主键以外的字段关联另一端的主键,如下图所示:          在基于主键的一对一关联关系中,一端直接通过主键关联另一端的主键,并通过另一端的主

2016-12-05 18:06:11 921

原创 Hibernate的一对多关联关系(单向和双向)

在领域模型中,类与类之间最普遍的关系就是关联关系。在 UML 中,关联是有方向的。以 Customer 和 Order 为例:一个用户能发出多个订单, 而一个订单只能属于一个客户。从 Order 到 Customer 的关联是多对一关联; 而从 Customer 到 Order 是一对多关联。   单向n-1的关联关系  单向 n-1 关联只需从 n 的一端可以访问 1 的一端。   域模型:从

2016-12-04 22:17:09 5260

原创 Hibernate映射组成关系

建立域模型和关系数据模型有着不同的出发点。   域模型(面向对象设计):由程序代码组成,通过细化持久化类的的粒度可提高代码的可重用性,简化编程。   关系数据模型(数据库设计):在没有数据冗余的情况下,应该尽可能减少表的数目,简化表之间的参照关系,以便提高数据的访问速度。      在这篇文章中我们以Worker(工人)和Pay(薪酬)之间的关系为例进行说明:         Hibe

2016-12-04 16:00:55 679

原创 Java时间和日期类型的Hibernate映射

在Java中,代表时间和日期的类型包括:java.util.Date和java.util.Calendar。此外在JDBC API中还提供了3个扩展了java.util.Date类的子类:java.sql.Date,java.sql.Time和java.sql.Timestamp,这三个类分别和标准SQL类型中的 DATE,TIME和TIMESTAMP类型对应。   在标准SQL中,DATE类型表

2016-12-04 15:28:58 15636

原创 Hibernate映射文件

POJO 类和数据库的映射文件*.hbm.xml  POJO类和关系数据库之间的映射可以用一个XML文档来定义。   通过POJO类的数据库映射文件,Hibernate可以理解持久化类和数据表之间的对应关系,也可以理解持久化类属性与数据库表列之间的对应关系。在运行时 Hibernate 将根据这个映射文件来生成各种SQL语句,映射文件的扩展名为 .hbm.xml。映射文件说明hibernate-

2016-12-04 15:01:47 839

原创 Hibernate配置文件

Hibernate配置文件主要用于配置数据库连接和Hibernate运行时所需的各种属性。   每个Hibernate配置文件对应一个Configuration对象。   Hibernate配置文件可以有以下两种形式:   1. hibernate.properties   2. hibernate.cfg.xml (常用形式)   hibernate.cfg.xml的常用属性JDBC连接

2016-12-04 13:03:22 478

原创 436. Find Right Interval (寻找最近的右区间)

Given a set of intervals, for each of the interval i, check if there exists an interval j whose start point is bigger than or equal to the end point of the interval i, which can be called that j is on

2016-12-03 23:33:39 938

原创 持久化对象的状态

站在持久化的角度,Hibernate把对象分为了4种状态:持久化状态,临时状态,游离状态和删除状态。Session的特定方法能使对象从一个状态转换到另一个状态。   临时对象(Transient): 在使用代理主键的情况下,OID 通常为 null; 不处于Session的缓存中; 在数据库中没有对应的记录。 通常使用new创建一个新的对象,并且不设置它的id属性值,则这个对象就是临时

2016-12-03 21:19:25 1730

原创 Hibernate一级缓存——Session

Session概述  Session接口是hibernate向应用程序提供的操纵数据库的最主要的接口,它提供了基本的保存,更新,删除和加载(不是查询)Java对象的方法。   Session具有一个缓存,位于缓存中的对象称为持久化对象,它和数据库中的相关记录对应。Session能够在某些时间点按照缓存中对象的变化来执行相关的SQL语句,来同步更新数据库。站在持久化的角度,Hibernate把对象分

2016-12-03 12:32:28 1392

原创 数据库事务的隔离级别

由于事务的ACID特性,即Atomicity、Consistency、Isolation、Durability(原子性、一致性、隔离性、持续性),那么对于同时运行的多个事务,当这些事务访问数据库中相同的数据时,如果没有采取必要的隔离机制,就会导致各种并发问题:脏读:又称无效数据的读出,是指在数据库访问中,事务T1将某一值修改,然后事务T2读取该值,此后T1因为某种原因撤销对该值的修改,这就导致了T

2016-12-03 12:28:00 1270

原创 在Eclipse下搭建Hibernate框架

实现在Eclipse中搭建一个Hibernate框架。在这里,我使用的数据库是mysql5.5。1.安装和当前Eclipse版本匹配的Hibernate插件或者JBoss插件:   在Eclipse中点击Help —> Eclipse Marketplace,搜索JBoss Tools,点击install,选择要安装的JBoss插件(我选择了全部),一路默认即可,安装完后重启Eclipse。

2016-12-02 21:35:39 17784 1

原创 关于配置了数据库方言为MySQLInnoDBDialect后Hibernate不能自动建表的问题

当需要使用支持事务的数据库方言,并且使用了mysql 5.5及以上版本时,需要将数据库方言配置为org.hibernate.dialect.MySQL5InnoDBDialect  注意是MySQL5InnoDBDialect,而不是MySQLInnoDBDialect,否则不能自动建表。  另外附上各种数据库对应的方言:数据库

2016-12-02 16:46:23 9304 1

原创 13. Roman to Integer (整数转罗马数字)

Given a roman numeral, convert it to an integer.Input is guaranteed to be within the range from 1 to 3999.题目大意:给定[1,3999]之间的某个整数,将其转为罗马数字。解题思路:代码如下:(93ms,beats 75.93%)public class Solu

2016-12-01 09:45:26 706

Git-2.11.0-64-bit.exe

Git安装程序,2.11.0版本,64位

2017-01-07

mybatis-generator-core-1.3.2.jar 

通过数据表逆向生成po,映射文件和mapper接口

2017-01-05

maven核心程序apache-maven-3.3.9-bin

maven核心程序,版本为3.3.9,可以配合最新版的eclipse4.6.1使用,可以指定通过maven创建的工程的jdk版本为1.8

2017-01-02

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除