`
hyperprice
  • 浏览: 51617 次
  • 性别: Icon_minigender_1
  • 来自: 北京
社区版块
存档分类
最新评论
文章列表
JDBC 连接 SQL数据库的两种方法 1.加载驱动 Class.forName("com.microsoft.sqlserver.jdbc.SQLServerDriver"); 2.建立连接 Connection conn = DriverManager.getConnection("jdbc:sqlserver://localhost:1433;databaseName=course;user=sa;password=sasa;"); 第二种方法 1.加载驱动 String driver="com.microsoft.sqlser ...
JDBC通过ODBC连接ACCESS数据库 通过ODBC在系统DSN中找到Driver do access 或 Microsoft Access Driver 完成 找到数据库所在的目录 选择点确定即可。
spring-bean的作用域有两种: * <bean id="" class="" scope="singleton" > singleton:每次调用getBean时返回相同的实例; * <bean id="" class="" scope="prototype" > prototype:每次调用getBean时返回不同的实例;
ibatis框架配置; * ibatis是apache的产品,可以到ibatis.apache.org下载ibatis版本; * eclipse中新建项目,导入下载包中lib文件夹下的*.jar(只有一个); * 导入所需要数据库的驱动信息; * 拷贝SqlMapConfig.xml(总配置文件)到web-inf下;内容稍后贴出; * 创建*.properties配置文件(一般命名为jdbc.properties)内容稍后贴出; * 另外需要orm模型映射文件(类似hibernate中的*.hbm.xml)这里的命名规则和hibernate一样,名字和表名保持一致,后缀为表名.xm ...
ibatis的使用心得; 1、配置 * 拷贝jar包、驱动文件、ibatis的配置文件和映射文件(这两个一般在测试类中); * sqlmapconfig.xml配置 如下: <sqlMapConfig> <settings useStatementNamespaces="true" statementCachingEnabled="true" /> //开启命名模式,如果为true的话,后期在测试类中的方法引用都需要加上类名 如 Student.updateStudent   <transactionManager t ...
个人对ibatis的理解; * SqlMapClient的实例是线程安全的,因此仅需要一个实例即可,这里使用了一个静态单例模式 * 和hibernate一样 需要创建映射表文件; * 定义字段 生成 get set方法; * 不过sql语句是写在映射文件中的; * 创建模型文件时需要生成构造函数,无参的和全参的(除id)
以前在做一些小的项目的时候都是用System.out.println();来输出信息进行调试。 简单理解,log4j 就是采用更规范的管理方式来输出你想要的信息,你可以自己设置输出格式,输出目的地,以及输出级别等等。 头一次尝试,留个脚印- - 首先要将 log4j-1.2.8.jar & commons-logging.jar 导入web工程 一、定义配置文件 两种方式 1 .是XML格式的文件,2.是Java特性文件log4j.properties(键=值)。 My eg: log4j.properties ################### ########### ...
日志级别 off:是最高的级别,用于关闭所有日志记录 fatal:指输出每个严重错误事件将会导致应用程序的退出。 error:指出虽然发生错误事件,但仍不影响系统的继续运行。 warn:表明会出现潜在的错误的情形。 info:一般用在粗粒度级别上,强调应用程序的运行过程。 debug:一般用在细粒度分析上,对调试程序非常有帮助。 all:是最低级的,用于打开所有日志记录。 APPENDER输出端 org.apache.log4j.ConsoleAppender org.apache.log4j.FileAppender org.apache.log4j.DailyRo ...
一对多(one2many)实现的方法为: * 1、发现对象、创建实体类。例如:班级(classes)和学生(Student),班级中的属性有int id,String name(多对一的关系,多个学生对应一个班级,后期的实现 为 先创建学生,然后班级添加学生即可,班级要定义个Set接口的变量(因为Set是不重复的)例如,private Set student;) * 2、创建类的映射文件(hbm)先从简单的映射做起,例如student中只有id和name。(如果映射中的路径重复出现的话可以在<hibernate-mapping>中定义package,更为 方便的来 ...
第一种方式:   先创建模型 再生成数据库的方法; 1、创建模型类,如用户类(User) 和 组类(Group),创建类中拥有的变量,并生成get和set方法。 manytoone:在多的一端创建一的一端的引用,例如在User中创建private Group group; 2、配置*.hbm.xml Group的映射中只需要配置对应字段即可,另外需要重命名下,因为group是sql中的关键字,在影射中 按提示键选择table 定义新的名称,如“t_group”等。 3、配置用户端的映射,配置拥有的字段即可,注意的一点是id的<generator class=" ...

乐观锁

理解:用户可以做查询等操作,但修改数据时需要验证version版本号,如果版本号错误则会抛出异常(只有在2个或多个线程同时做操作时才会做验证version,单线程修改不会验证version只会增加version。) 实现方法:在数据库中(或类对象中)创建version(为int类型),然后在映射(hbm)文件中增加 optimistic-lock="version" 属性。 然后在配置中增加<version name="version"></version>属性,要放在id下面。 配置hbm例子代码如下: < ...

悲观锁

理解:当两个用户同时对数据进行操作时这个数据会被先访问的线程锁定,次线程会等待。直到主线程结束后次线程才能做访问或修改。 实现方法:LockMode.UPGRADE 例子代码: Session session = HibernateSessionFactory.getSession(); session.beginTransaction(); Lock lock = (Lock)session.load(Lock.class, 1,LockMode.UPGRADE); lock.setMobile(lock.getMobile()+10); session.upd ...
hibernate查询缓存 查询缓存是针对普通属性结果集的缓存 对实体对象的结果集只缓存id 查询缓存的生命周期,当前关联的表发生修改,那么查询缓存生命周期结束 * 环境配置方法如下: * 1、在hibernate.cfg.xml中添加一条属性信息,如: <property name="hibernate.cache.use_query_cache">true</property> * 2、在程序中必须手动启用查询缓存,如: query.setCacheable(true); * 注:查询缓存是配合二级缓存使用的,所以配置查 ...
hibernate 二级缓存; * 二级缓存 sessionFactory级的缓存 session之间可以共享(可插拔) * 二级缓存的环境搭配如下: 1、拷贝hibernate包内etc文件夹内的\ehcache.xml目录(在src下加入ehcache.xml) 删除不必要的内容 只留下 <diskStore path="java.io.tmpdir"/> //溢出后存放的目录例如:<diskStore path="d:\\cache"/> <defaultCache         maxElement ...
hibernate、一级缓存: * 一级缓存很短和session的生命周期一致,一级缓存也叫session级的缓存或事务级缓存; * 一级缓存无法取消,但可以管理,可以使用session.clear(),session.evict(); 清除 和 驱逐; 那些方法支持一级缓存: * get() * load() * iterate(查询实体对象) 如何管理一级缓存: * session.clear(),session.evict() 如何避免一次性大量的实体数据入库导致内存溢出 * 先flush,再clear 如果数据量特别大,考虑采用jdbc实现,如果jdbc也 ...
Global site tag (gtag.js) - Google Analytics