想使用Hibernate框架,在网上看了一个Hibernate学习视频,试着做了一个小小的Java连接数据库的操作,Java初学者一个,大家多多包涵
开发环境:
1.安装MySql,
2.安装了Eclipse+插件hibernatetools-Update-4.1.2插件
3.java包导入1.hibernate-core 2.Junit4.0 3.mysql
思路:
1.配置Hibernate配置文件
<?xml version="1.0" encoding="UTF-8"?> <!DOCTYPE hibernate-configuration PUBLIC "-//Hibernate/Hibernate Configuration DTD 3.0//EN" "http://hibernate.sourceforge.net/hibernate-configuration-3.0.dtd"> <hibernate-configuration> <session-factory> <property name="connection.username">root</property> <!-- 数据库用户名 --> <property name="connection.password"></property> <!-- 数据库密码 --> <property name="connection.driver_class">com.mysql.jdbc.Driver</property> <property name="connection.url">jdbc:mysql:///hibernate?useUnicode=true&charactertEncoding=UTF-8</property> <property name="dialect">org.hibernate.dialect.MySQLDialect</property> <property name="show_sql">true</property> <!-- SQL输出到控制台 --> <property name="format_sql" >true</property> <!-- 格式化SQL --> <property name="hbm2ddl.auto">update</property> <!-- create|update|create-drop|validate:检查数据表结构是否相同 --> <mapping resource="Students.hbm.xml" /> <!-- 学生配置文件 --> </session-factory> </hibernate-configuration>
2.定义持久话学生类
//学生类 public class Students { // 1.公有的类 // 2.提供公有的不带参数的默认的构造方法 // 3.属性私有 // 4.属性setter/getter封装 private int sid; private String sname; private String gender; private String address; public Students() { } public Students(int sid, String sname, String gender, String address) { // super(); this.sid = sid; this.sname = sname; this.gender = gender; this.address = address; } public int getSid() { return sid; } public void setSid(int sid) { this.sid = sid; } public String getSname() { return sname; } public void setSname(String sname) { this.sname = sname; } public String getGender() { return gender; } public void setGender(String gender) { this.gender = gender; } public String getAddress() { return address; } public void setAddress(String address) { this.address = address; } @Override public String toString() { return "Students [sid=" + sid + ", sname=" + sname + ", gender=" + gender + ", address=" + address + "]"; } }
3.配置Students.hbm.xml文件,这个是由Hibernate插件工具自动完成的,Src右键-Other-Hibernate-hbm.xml配置文件
<?xml version="1.0"?> <!DOCTYPE hibernate-mapping PUBLIC "-//Hibernate/Hibernate Mapping DTD 3.0//EN" "http://hibernate.sourceforge.net/hibernate-mapping-3.0.dtd"> <!-- Generated 2015-6-25 19:45:24 by Hibernate Tools 3.4.0.CR1 --> <hibernate-mapping> <class name="Students" table="STUDENTS"> <id name="sid" type="int"> <column name="SID" /> <generator class="assigned" /> </id> <property name="sname" type="java.lang.String"> <column name="SNAME" /> </property> <property name="gender" type="java.lang.String"> <column name="GENDER" /> </property> <property name="address" type="java.lang.String"> <column name="ADDRESS" /> </property> </class> </hibernate-mapping>
4.定义一个StudentsTest测试类
import org.hibernate.Session; import org.hibernate.SessionFactory; import org.hibernate.Transaction; import org.hibernate.cfg.Configuration; import org.hibernate.service.ServiceRegistry; import org.hibernate.service.ServiceRegistryBuilder; import org.junit.After; import org.junit.Before; import org.junit.Test; //测试类 //@SuppressWarnings("deprecation") public class StudentsTest { private SessionFactory sessionFactory; //会话工厂 private Session session; //会话 private Transaction transaction; @Before //之前 public void init() //初始化 { //创建配置对象 Configuration config=new Configuration().configure(); //创建服务注册对象 ServiceRegistry serviceRegistry=new ServiceRegistryBuilder().applySettings(config.getProperties()).buildServiceRegistry(); //创建会话工厂对象 sessionFactory=config.buildSessionFactory(serviceRegistry); //会话对象 session=sessionFactory.openSession(); //开启事务 transaction=session.beginTransaction(); } @After //之后 public void destory() { transaction.commit(); //提交事务 session.close(); //关闭会话 sessionFactory.close(); //关闭会话工厂 } @Test //测试 public void testSaveStudents() { Students s=new Students(3,"张三丰","男","武当山"); session.save(s); Students s1=new Students(4,"shexunyu","男","咸宁"); session.save(s1); //保存对象进入数据库 } }
5.到这就算完成了,在把工程的目录结构截图给大家
6.大家可以右键StudentsTest右键Runas-JUnit Test进行测试吧,好啦,代码我上传了,点这里下载
http://files.cnblogs.com/files/shexunyu/Java-Hibernate_002.zip
User:shexunyu Date:2015-06-26 Contact: