1.数据库(直接在cmd下进入数据库操作亦可)

(1)启动Navicat for MySQL

(2)打开连接,创建一个数据库,名为testdb

(3)新建表user1,表结构如图所示

2.数据库池

(1)启动MyEclipse

(2)进入后在界面右上角切换到MyEclipse Database Explorer视图,如图所示

(3)在左边的DB Browser的空白处单击鼠标右键新建数据库池,如图所示

(4)在弹出的窗口中填入与需要连接的数据库的相关信息,范例如图所示

(5)点击窗口左边的Test Driver按钮,若出现如图所示的窗口,则数据库连接成功,点击Finish即可

3.Web项目

(1)切换回MyEclipse Java Enterprise视图,创建一个Web project,如图所示

(2)为该项目添加Hibernate特性,过程如图所示

4.表映射

(1)切换到MyEclipse Database Explorer视图

(2)打开TESTPOOL连接,找到需要建立映射的表,右键点击“Hibernate逆向工程”,如图所示

(3)在弹出的窗口中选择刚创建的Web项目,填入需要放入的包名,勾选相应选项,如图所示,然后点击Next

(4)在Id Generator处选择identity,然后点击finish

(5)切换回MyEclipse Java Enterprise视图,打开hibernate.cfg.xml文件,在session-factory中的最后面加入如下两句代码:

<property name="show_sql">true</property>
<mapping resource="org/vo/User.hbm.xml"/>

(其中前一句若不想查看sql语句可不写。但后一句若没有,则运行时会报错,因为hibernate要通过它找到映射文件。)

5.测试

(1)新建包test,新建类HibernateTest,代码如下

package test;

import org.hibernate.Session;
import org.hibernate.SessionFactory;
import org.hibernate.Transaction;
import org.hibernate.cfg.Configuration;
import org.vo.User; public class HibernateTest {
public static void main(String[] args) { Configuration cf=new Configuration();
SessionFactory sf=cf.configure().buildSessionFactory();
Session s=sf.openSession();
Transaction t=s.beginTransaction();
User u=new User();
u.setUsername("Milk");
u.setPassword("123");
s.save(u);
t.commit();
s.close();
}
}

(2)保存,右键作为Java Application运行,则能看到Console窗口出现如下信息

(3)打开数据库,则能看到数据已经插入进去了

至此,就完成了一个最最最简单的Hibernate项目了。

为了完成这篇文章花了3个小时,也是为了尽量让过程正确。

由于我也是初学,这篇文章只是作为入门参考,若有什么不对的地方还请各位指出,感激不尽。

如果之后学得深了,我会在这个过程中添加一些解释,以便理解。

 

Hibernate实现向数据库插入一条数据全过程(Study By Example)的更多相关文章

  1. 向Oracle数据库插入一条数据

    这几天搞了一下Oracle数据库.可能用sql server习惯了,感觉好不方便.PL的界面友好度比sql server差远了 .既然都收购了PL了 为什么不给它做好一点呢?各种不便.郁闷 向Orac ...

  2. java向数据库插入N条数据

    为了测试mysql的索引,要向数据库先插入上万条数据,然后再测试.手动插入太麻烦,写了一段代码. 先上代码: package action; import java.sql.Connection; i ...

  3. 你向 Mysql 数据库插入 100w 条数据用了多久?

    阅读本文大概需要 2 分钟. ▌目录 多线程插入(单表) 多线程插入(多表) 预处理 SQL 多值插入 SQL 事务( N 条提交一次) ▌多线程插入(单表) 问:为何对同一个表的插入多线程会比单线程 ...

  4. 【JDBC】使用Spring提供的JDBCTemplate通过Statement向MySql数据库插入千万条数据,耗时4m55s,使用insert语句批量插入方式二

    这回依然是使用 insert批量插入这种方式 insert into emp(name,age,cdate) values ('A' , 20, '2019-10-13 00:00:00'), ('B ...

  5. 【JDBC】使用Spring提供的JDBCTemplate通过PrepareStatement向MySql数据库插入千万条数据,耗时32m47s,速度提升有限

    数据库环境还和原来一样,只是从Statement换成了PrepareStatement,都说PrepareStatement因为预编译比Statement快,但是实际运行真快不了多少. 代码如下: p ...

  6. Hibernate的配置跟简单创建一个表并插入一条数据

    首先官网下载一个hibernate的架包,由于时间关系,博主已经分享到了百度网盘:https://pan.baidu.com/s/1Mw0Og3EKnouf84Njz9UicQ,提取码lens Hib ...

  7. 数据库一次性插入10w条数据,怎么插入效率快

    在SQL Server 中插入一条数据使用Insert语句,但是如果想要批量插入一堆数据的话,循环使用Insert不仅效率低,而且会导致SQL一系统性能问题 下面介绍SQL Server支持的两种批量 ...

  8. 使用JDBC向数据库中插入一条数据

    原谅我是初学者,这个方法写的很烂,以后不会改进,谢谢 /** * 通过JDBC向数据库中插入一条数据 1.Statement 用于执行SQL语句的对象 1.1 通过Connection 的 * cre ...

  9. oracle 向数据库同时插入多条数据

    oracle 与 mysql 不同. mysql 可以直接插入多条数据的操作:  采用 INSERT INTO 某表 VALUES(各个值),VALUES(各个值),.....; 或者 INSERT ...

随机推荐

  1. Linux环境下apache性能测试工具ab使用详解

    网站性能压力测试是服务器网站性能调优过程中必不可缺少的一环.只有让服务器处在高压情况下,才能真正体现出软件.硬件等各种设置不当所暴露出的问题. 性能测试工具目前最常见的有以下几种:ab.http_lo ...

  2. 委托(delegate)的三种调用方式:同步调用,异步调用,异步回调(转载)

    下面为即将被调用的方法: public delegate int AddHandler(int a,int b); public class 加法类 { public static int Add(i ...

  3. Talend 从Excel导入Saleforce数据(一) 直接从salesforce lookup 性能的噩梦

    速度的瓶颈是在查询Sales force是否有该电话号码的联系人资料. TMap属性的 lookup Model, 如果用Load Once, 则会把SaleForce的contact全部load下来 ...

  4. ios -- 教你如何轻松学习Swift语法(三) 完结篇

    前言:swift语法基础篇(二)来了,想学习swift的朋友可以拿去参考哦,有兴趣可以相互探讨,共同学习哦.      一.自动引用计数   1.自动引用计数工作机制      1.1 swift和o ...

  5. DIV 垂直 垂直水平 居中

    DIV 垂直 居中 让div居中对齐 使用margin-left:auto;margin-right:auto; 可以让你的div居中对齐.  .style{margin-left:auto;marg ...

  6. 机器学习实战-边学边读python代码(4)

    程序2-4 分类器针对约会网站的测试代码(4) def datingClassTest():hoRatio = 0.10 //将文件读入内存矩阵datingDataMat,datingLabels = ...

  7. xcode编译错误

    1.xcode无效文件的编译错误. 问题: clang: error: no such file or directory: '/Users/admin/client/trunk/sengoku_sc ...

  8. Abot爬虫和visjs

    1. 引言 最近接触Abot爬虫也有几天时间了,闲来无事打算从IMDB网站上爬取一些电影数据玩玩.正好美国队长3正在热映,打算爬取漫威近几年的电影并用vis这个JS库呈现下漫威宇宙的相关电影. Abo ...

  9. 谈谈对AOP的理解

    Aspect Oriented Programming  面向切面编程.解耦是程序员编码开发过程中一直追求的.AOP也是为了解耦所诞生. 具体思想是:定义一个切面,在切面的纵向定义处理方法,处理完成之 ...

  10. :before\:after伪元素用法

    :before和:after这两个伪元素在真正的页面元素之前和之后插入一个额外的的元素,等效于下面的代码: <p> <span>:before</span> HTM ...