hibernate -- hibernate笔记2
hibernate笔记2
2016年1月29日
9:33
关于hibernate配置的故事:
hibernate.cfg.xml(主配置文件)
1.数据库信息(方言,url,驱动,用户名,密码)
2.导入映射配置文件
3.其他配置
domain.hbm.xml(映射文件)
普通属性
主键(关于主键id生成策略在故事会中有详细说明)
集合属性
集合属性让我们可以写一个实体类,对应数据库中的两个表
关于set的配置:
User.java
public c ...
hibernate -- hibernate笔记3
hibernate笔记3
2016年1月29日
9:34
关于session缓存
session对象与数据库交流:
flush方法:将session缓存中的对象内容保存到数据库中
reflesh方法:将session缓存中的对象的内容与数据库同步
clear方法:清除session缓存中的对象
关于以上三个方法–正常在提交事务的时候回调用flush方法将对对象的更新保存到数据库中,但可以人为的调用该方法进行保存;如果我们在操作对象时数据库内容发生了变化,则可以通过reflesh对象进行刷新;clear即是清除session缓存中的对象。
session中对象的状态:临时 持久化 托管 删除
get和load方法的区别:get是即时获得对象,load是延时获得对象(托管对象,如果不使用不会立即执行查询操作)。
如果在调用了这两个方法后就关闭session对象,load则会出现LazyInitializationExcept ...
hibernate -- hibernate笔记4
hibernate笔记4
2016年1月29日
9:34
hql语言(hibernate query language)hibernate查询语言:
那么为什么我们有了sql语句还要去用hql语句呢:
1.sql语句在对不同是数据库时有一些差异,那么如果我们完成的项目要更换数据库时再去重写sql语句显然是很不方便的,而hql语句对所有数据库都是一致的。
2.hql语句是面向对象的操作,虽然它最终也是转换为sql语言,但是它明显更符合我们的思维
一下为hql语句的一些具体应用:
from table;与sql的 select * from table;是一致的,当我们在查询该条数据的所有内容时省略select *,并且是必须省略,但也可以写成这样: select t from table as t; as 是同义词关键字,可以省略,也就是说刚才的语句可以写成 select ...
mybatis -- mybatis笔记1--搭配环境
创建一个java项目
项目名Mybatis1
导入jar包:mybatis-3.2.8.jar、mysql-connector-java-5.0.7-bin.jar
创建一个配置文件mybatis_config.xml
<environments default="development">
<environment id="development">
<transactionManager type="JDBC"/>
<dataSource type="POOLED">
<property name="url" value="jdbc:mysql:///firefly"/>
<property name="username" value="root&q ...
mybatis -- mybatis笔记2--crud的两种方法
通过xml文件进行CRUD
创建一个java工程:mybatis2_CRUD、导入jar:com.springsource.org.junit-4.8.1.jar、junit-4.3.jar
mybatis配置文件
<environments default="development">
<environment id="development">
<transactionManager type="JDBC"/>
<dataSource type="POOLED">
<property name="driver" value="com.mysql.jdbc.Driver"/>
<property name="url" value="jdbc:mysql:/ ...
spring -- Spring笔记1--入门helloworld项目
Spring笔记1–入门helloworld项目
2016年1月29日
9:36
Spring笔记1–入门helloworld项目
配置环境:到eclipse上install softwear中输入http://dist.springsource.com/release/TOOLS/update/e4.3/
安装带spring IDE的4个部分,完成后重启eclipse
写一个HelloWorld项目:
1.创建一个名为Helloworld的java项目,在项目下创建一个叫做lib的文件夹,导入所需的jar包(5个),将其建立成一个libraries。
2.在src目录下创建com.firefly.spring.beans包,在里面创建一个HelloWorld.java文件,内容如下:
1234567891011
package com.firefly.spring.beans; public class HelloWorld { private String name; ...
spring -- Spring笔记4 工厂方法
Spring笔记4 工厂方法
2016年1月29日
9:37
静态工厂方法:
Phone.java
12345678910111213141516171819202122232425262728
package com.firefly.spring.beans.factory; public class Phone { private String name; private int price; public Phone(String name) { super(); this.name = name; } public Phone(String name, int price) { super(); this.name = name; this.price = price; } public String getName() { return name; } public void setName(String name) { ...
spring -- Spring笔记5 AOP
Spring笔记5 AOP
2016年1月29日
9:37
aop是什么:面向切面的编程(OOP是面向对象的编程)
为什么要用aop:如果我们要写一个简单的计算器,核心的代码只有加减乘除四个方法,但是如果我们还想要有一些日志来提示使用者,这些提示对每个方法来说都是相近的,如果我们在每个方法里面都加上提示输出,就会让代码显得很冗余,而且不利于后期的更新和维护,而这种情况下我们就可以使用aop。
首先我们用代理类的方法来实现这一功能:
CountIplm.java文件实现了Count.java接口(Iplm应该是Ipml,后来发现了不想改了)
12345678910111213141516171819202122232425
package com.firefly.spring.count; public class CountIplmimplements Count { public int add(inti, int j) { int result = i + j; return result; } pu ...
spring -- Spring笔记6 Jdbc
Spring笔记6 Jdbc
2016年1月29日
9:37
Spring 通过 JdbcTemplate对数据库进行操作
以下是对bean的配置:
1234567891011121314
<context:property-placeholder location=”classpath:db.propertise”/> <bean id=”dataSource” class=”com.mchange.v2.c3p0.ComboPooledDataSource”> <property name=”user” value=”${jdbc.user}”></property> <property name=”password” value=”${jdbc.password}”></property> <property name=”driverClass” value=”${jdbc.driverclass}”></property> <prop ...
spring -- spring笔记2 bean的配置
spring笔记2 bean的配置
2016年1月29日
9:36
spring笔记 bean的配置
在SpringIOC读取bean配置创建bean实例之前,必须对它进行实例化,spring提供了两种类型的ioc容器实现:
-BeanFactory是spring框架的基础设施,面向spring本身
-ApplicationContext面向使用spring框架的开发者(基本只会用到这种方式,不会用到BeanFactory)
无论使用的是哪种方法,配置文件时都是相同的
bean配置的具体属性:
123456789101112131415161718192021
<?xml version=”1.0” encoding=”UTF-8”?><beans xmlns=”http://www.springframework.org/schema/beans" xmlns:xsi=”http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLo ...