实训第二天早上--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"培训班"终于开 ...
随机推荐
- Codeforces Round #206 (Div. 2)
只会做三个题: A:简单题,不解释: #include<cstdio> using namespace std; int k,d; int main() { scanf("%d% ...
- java or spring +jython +python (Error:python.home,Determine if the following attributes are correct:)
最近更新 :16年3月10日更 首先你在用JAVA,你需要运行Python,于是你找了Jython,我不介绍什么是Jythyon了 如何在Java中调用Python的方法,一百度一大堆, 如下:是一种 ...
- 【POJ2699】The Maximum Number of Strong Kings(网络流)
Description A tournament can be represented by a complete graph in which each vertex denotes a playe ...
- 编写自己的C语言头文件
一些初学C语言的人,不知道头文件(*.h文件)原来还可以自己写的.只知道调用系统库 函数时,要使用#include语句将某些头文件包含进去.其实,头文件跟.C文件一样,是可以自己写的.头文件是一种文本 ...
- Delphi版的完成端口控件
http://download.csdn.net/user/mike1234567890/uploads/2
- Mysql、SqlServer和Oracle 添加、修改、删除 字段总结
MySql: 1.添加 添加单列: ALTER TABLE 表名 ADD 列名 数据类型 添加多列: ALTER TABLE 表名 ADD 列名1 数据类型1,Add 列名2 数据类型2 2.修改 修 ...
- 14.6.5 Configuring InnoDB Change Buffering 配置InnoDB Change Buffering
14.6.5 Configuring InnoDB Change Buffering 配置InnoDB Change Buffering 当插入,更新,和删除操作在表上执行, 索引列的值(特别是 se ...
- (转载)mysqli使用prepared语句
(转载)http://kaozjlin.iteye.com/blog/890855 mysqli函数库支持prepared语句的使用.它们对于在执行大量具有不同数据的相同查询时,可以提高执行速度.它们 ...
- MYSQL仅仅向某个字段进行插入
例子: mysql> show create table student \G . row *************************** Table: student Create T ...
- iOS开发:使用Tab Bar切换视图
iOS开发:使用Tab Bar切换视图 上一篇文章提到了多视图程序中各个视图之间的切换,用的Tool Bar,说白了还是根据触发事件使用代码改变Root View Controller中的Conten ...