实训第二天早上--hibernate之配置文件映射和注解
hibernate
逐步优化
第一步 只按照步骤来提取的
jre包导入错误
第二步 继续封装,把增删改查提取出来,同时进行代码的封装
HQL语句 be stranger in the code .be fooled/ get set 方法自动生成
第三步 零映射
第一步骤:
一开始是使用的的myeclipse自带的方式进行配置的,这里我给出几张图片,给自己留个印象也好。
首先是新建一个project,新建完project之后要做的事情就是先在myeclipse中用一个插件管理数据库,具体做法如截图,在other中找到DB browser
弹出来那个框框之后就是进行一就是新建一个数据库连接,右键new一下,之后就可以新建一个数据库连接了,
截图如下
配置完数据库之后就在包中导入hibernate的jar包,。具体步骤就是在 你所创建的项目右键项目名,点击myeclipse选中hibernate之后就可以开动了。如图
其实不应该选择assign的。而是应该选择identity,表示ID自增
最后一步就是要在myeclipse中我们刚刚所new的管理数据库的地方点击你要处理的表格。创建一些映射文件。这里我给出几张截图
后面的步骤默认就好了,我印象中是这样子的。这样子hibernate的框架就可以生成了。
这种最简单的方法。生存的类也很多。
之后把增删改查提取出来之后的截图如下,也就是把抽象出来一个BaseDAO
使用映射的方式转化为,其中有把hibernateDAO去掉了。但把这个代码去掉之后需要修改一下代码,这个需要点耐心,其实不难的
几个问题要注意下的是:
1.早上数据库服务打不开了
后来百度了这个
2.一开始的hibernate中的工厂配置文件。hibernatesessionfactory中的一句是这样子的
,但是后来因为加入了注解的方式,所以这句话要改成这样子可以运行
备注:早上的教学过程如下:
今天任务:
完成HibernateDao终极版
增删改:需要使用事务,提交
查询不需声明事务
SessionFactory:一个数据库链接,产生多个Session
Session:一次访问链接
getSession().update
getSession().save
getSession().delete
getSession().get
Transaction:一个事务
tx.commit();
tx.rollback();
Query:一次查询
String queryString = "from XOrder";
createQuery:hql,常用
createSQLQuery:sql,常用于复杂查询
createCriteria:面向对象
List:泛型集合,常用于结果集
调试:
F5:进入方法
F6:一步步执行
F7:跳出方法
F8:执行到下一个断点
Hibernate
1.映射文件
2.注解方式达到零映射文件
在一次调试运行中爆下面的错误:
已过一番查找后发现在<mapping class="">使用了Annotation
http://lingf.iteye.com/blog/1105723
零配置增删改查
HQL查询
复杂SQL语句
数据库中文乱码
作业二:
使用零配置Hibernate实现车站模块增删改查,使用Junit测试
实训第二天早上--hibernate之配置文件映射和注解的更多相关文章
- 《JAVA程序设计》实训第二天——《猜猜看》游戏
课程实训第二天,我在第一天的基础上去导入目录,第一天那时候一直改动都是改动不到,上网找了相关的知识.问了同学该怎么去导入显示图片. public class weiwei extends JFrame ...
- <实训|第二天>掌握linux6.7中安装vmware、vmware安装linux发行版本以及遇到的问题最后libreoffice的安装
期待已久的linux运维.oracle"培训班"终于开班了,我从已经开始长期四个半月的linux运维.oracle培训,每天白天我会好好学习,晚上回来我会努力更新教程,包括今天学到 ...
- nmap扫描进阶、msfconsole攻击入门(网安全实训第二天)
本期内容:nmap扫描.msfconsole攻击入门 1. nmap扫描进阶 2.msfconsole攻击入门 1.nmap扫描进阶 (1)nmap命令 nmap --sP -iL abin.txt ...
- java综合实训第二次
- JAVA实训第二次作业
一维数组的创建和遍历. 声明并创建存放4个人考试成绩的一维数组,并使用for循环遍历数组并打印分数.要求: (1) 首先按"顺序"遍历,即打印顺序为:从第一个人到第四个人: (2) ...
- spring 整合 struts2 + Hibernate application配置文件(基于注解)
下面是 application.xml 文件. <?xml version="1.0" encoding="UTF-8"?> <beans x ...
- Hibernate 关于实体映射常用注解
注解 类注解(写在类上面的) @Entity 标明实体类 @Table(name="数据库标明") 生成数据库时的表名由这个决定 @DynamicInsert ...
- <实训|第三天>Linux登录界面的修改以及Richard Stallman、自由软件运动
在写博客之前我想说两点: 承认一个错误,昨天写的实训第二天,我把redhat6.7写成了Linux6.7,感谢热心人士的指出! 昨天写的文章名字太长了,今天改善,内容感觉表述不全,希望各位谅解! 官方 ...
- <实训|第五天>通过搭建NFS,FTP实现共享文件附Vim脚本游戏
先说个事情:我周末是不更新这个系列教程的,不过其他内容的会更新,我周末就整理这一周的各种内容到我的微信公众号中,提供给大家! 期待已久的linux运维.oracle"培训班"终于开 ...
随机推荐
- js compress and combine
http://www.cnblogs.com/snandy/archive/2012/06/08/2541827.html http://developer.51cto.com/art/201301/ ...
- Struts2 全局拦截器、result 的实现
定义一个可以继承的包,在这个包里面写入自己常用的拦截器,于是就实现了全局拦截器的实现. 现在,我们定义一个专门用来继承的包: <!--专门提供前台继承的包--> <package n ...
- Spark MLBase分布式机器学习系统入门:以MLlib实现Kmeans聚类算法
1.什么是MLBaseMLBase是Spark生态圈的一部分,专注于机器学习,包含三个组件:MLlib.MLI.ML Optimizer. ML Optimizer: This layer aims ...
- windows/NBTSTAT,linux/nmblookup命令详解,查询NetBIOS名
NBTSTAT命令详解 请问: Linux下有没有和nbtstat一样的命令,用 nmblookup -A ip 可以 nbstat命令主要用于查看当前基于netbios的tcp/ip连接状态,通过该 ...
- Robotium跨应用处理方法
相信用过一段时间Robotium的同学一般都遇到过如下情况:界面跳转到被测程序外以后,Robotium就毫无对策了,这也是Instrumentation框架最致命的一个缺点;然而领导是不会管你这些很“ ...
- Rectangle and Square(判断正方形、矩形)
http://acm.sdut.edu.cn:8080/vjudge/contest/view.action?cid=42#problem/D 改了N多次之后终于A了,一直在改判断正方形和矩形那,判断 ...
- BZOJ1603: [Usaco2008 Oct]打谷机
1603: [Usaco2008 Oct]打谷机 Time Limit: 5 Sec Memory Limit: 64 MBSubmit: 602 Solved: 458[Submit][Stat ...
- Scala:(1)变量
Scala中变量需要注意的地方: (1)val,var val 定义的声明是一个常量,不能改变内容. var定义的声明是一个变量,可以改变其内容 在Scala中,尽可能使用val val answer ...
- nginx -- handler模块(100%)
handler模块简介 相信大家在看了前一章的模块概述以后,都对nginx的模块有了一个基本的认识.基本上作为第三方开发者最可能开发的就是三种类型的模块,即handler,filter和load-ba ...
- 关于java、Android中Math的一些用法
java.math.Math类常用的常量和方法: Math.PI 记录的圆周率Math.E记录e的常量Math.abs 求绝对值Math.sin 正弦函数 Math.asin 反正弦函数Math.co ...