1. Create project, project name Hibernatedemo7, directory structure
650) this.width=650; "Src=" https://s1.51cto.com/wyfs02/M02/8F/54/wKioL1jbTWWhphkgAAAsZHP6pq0006.png-wh_500x0-wm_ 3-wmp_4-s_2831069069.png "title=" Qq20170329135916.png "alt=" Wkiol1jbtwwhphkgaaaszhp6pq0006.png-wh_50 "/>
2. Create a Lib directory storage jar file in the project, directory structure
650) this.width=650; "Src=" https://s5.51cto.com/wyfs02/M00/8F/56/wKiom1jbTZ7zXfsnAACMePuHIok775.png-wh_500x0-wm_ 3-wmp_4-s_859202048.png "title=" Qq20170329140012.png "alt=" Wkiom1jbtz7zxfsnaacmepuhiok775.png-wh_50 "/>
3. Create the entity Bean Forum, package name (Com.mycompany.demo.bean) in the SRC directory,
650) this.width=650; "Src=" https://s5.51cto.com/wyfs02/M00/8F/54/wKioL1jbTcOy1Q5pAABFN0Q-Ahs303.png-wh_500x0-wm_ 3-wmp_4-s_3731478289.png "title=" Qq20170329140050.png "alt=" Wkiol1jbtcoy1q5paabfn0q-ahs303.png-wh_50 "/>
4. Entity Bean Forum content is as follows
Package com.mycompany.demo.bean;public class forum {private int fid;private string name;public forum () {super ();} Public forum (String name) {super (); this.name = name;} Public int getfid () {return fid;} Public void setfid (Int fid) {this.fid = fid;} Public string getname () {return name;} Public void setname (String name) {this.name = name;} @Overridepublic int hashcode () {final int prime = 31;int result = 1;result = prime * result + fid;result = prime * result + ((Name == null) ? 0 : name.hashcode ()); return result;} @Overridepublic boolean equals (object obj) {if (this == obj) return true;if (obj == null) return false;if (getclass () != obj.getclass ()) return false; forum other = (Forum) obj;if (Fid != other.fid) return false;if ( Name == null) {if (Other.name != null) Return false;} else if (!name.equals (other.name)) return false;return true;}
5. In the SRC directory, create the Entity Bean Forum Mapping file Forum.hbm.xml, package name (Com.mycompany.demo.bean),
650) this.width=650; "Src=" https://s1.51cto.com/wyfs02/M01/8F/56/wKiom1jbTfPB58qYAABD0GWARPE339.png-wh_500x0-wm_ 3-wmp_4-s_1434397238.png "title=" Qq20170329140137.png "alt=" Wkiom1jbtfpb58qyaabd0gwarpe339.png-wh_50 "/>
6. The contents of the mapping file Forum.hbm.xml are as follows
<?xml version= "1.0" encoding= "Utf-8"? ><! doctype hibernate-mapping public "-//hibernate/hibernate mapping dtd//en" "HTTP://WWW.HIBERNATE.ORG/DTD/HIBERNATE-MAPPING-3.0.DTD" > <!--Package: Specify <class/> packages to be located -->
7. Create the tool class Hbnutil, package name (com.mycompany.demo.util) in the SRC directory,650) this.width=650; "Src=" https://s3.51cto.com/wyfs02/M00/8F/54/wKioL1jbTjagV6XzAAA_4KrWGC0245.png-wh_500x0-wm_ 3-wmp_4-s_585176018.png "title=" Qq20170329140244.png "alt=" Wkiol1jbtjagv6xzaaa_4krwgc0245.png-wh_50 "/>
8. The contents of the tool class Hbnutil are as followsPackage Com.mycompany.demo.util;import Org.hibernate.session;import Org.hibernate.sessionfactory;import Org.hibernate.cfg.configuration;public class Hbnutil {private static sessionfactory sessionfactory;public static Session getsession () {if (sessionfactory = = NULL | | sessionfactory.isclosed ()) {sessionfactory = new Configuration (). Configure (). Buildsessionfactory ();} return sessionfactory.getcurrentsession ();}}
9. Create the Hibernate profile Hibernate.cfg.xml in the SRC directory,650) this.width=650; "Src=" https://s1.51cto.com/wyfs02/M02/8F/56/wKiom1jbTmfxZ8TWAAA5sHKhBtY232.png-wh_500x0-wm_ 3-wmp_4-s_3293469085.png "title=" Qq20170329140333.png "alt=" Wkiom1jbtmfxz8twaaa5shkhbty232.png-wh_50 "/>
The contents of the 10.Hibernate configuration file Hibernate.cfg.xml are as follows<?xml version= "1.0" encoding= "Utf-8"? ><! doctype hibernate-configuration system "http://www.hibernate.org/dtd/ Hibernate-configuration-3.0.dtd ">
11. Create the test directory in the project to store testing files, file name Manageforum, package name (Com.mycompany.demo.bean), directory structure650) this.width=650; "Src=" https://s3.51cto.com/wyfs02/M00/8F/56/wKiom1jbTqziz9VUAAA1krMnEO8832.png-wh_500x0-wm_ 3-wmp_4-s_1398174254.png "title=" Qq20170329140441.png "alt=" Wkiom1jbtqziz9vuaaa1krmneo8832.png-wh_50 "/>
The contents of the 12.ManageForum test class are as followspackage com.mycompany.demo.bean;import java.util.list;import org.hibernate.hibernateexception; Import org.hibernate.query;import org.hibernate.sqlquery;import org.hibernate.session;import org.hibernate.Transaction;import org.hibernate.criterion.Order;import org.hibernate.criterion.restrictions;import org.junit.before;import org.junit.test;import com.mycompany.demo.util.hbnutil;public class manageforum {private session session;@ Beforepublic void init () {session = hbnutil.getsession ();} /* * paged Query-sql */@Testpublic void testlimitforsql () {try {session.begintransaction (); string sql = "select * from hnsq_forum limit ?,?"; List<forum> forums = session.createsqlquery (SQL). Addentity (Forum.class). SetParameter (0, &NBSP;2). Setparameter (1, 10). List ();for (forum forum : forums) {sysTem.out.println (Forum.getname ());} Session.gettransaction (). commit ();} catch (exception e) {session.gettransaction (). rollback (); E.printstacktrace ();}} /* * paged Query-hql */@Testpublic void testlimitforhql () {try {session.begintransaction (); string sql = "From forum"; List<forum> forums = session.createquery (SQL). Setfirstresult (2). SetMaxResults (). List (); for (forum forum : forums) {system.out.println (Forum.getname ());} Session.gettransaction (). commit ();} catch (exception e) {session.gettransaction (). rollback (); E.printstacktrace ();}} /* * paged Query-qbc */@Testpublic &NBSP;VOID&NBSP;TESTLIMITFORQBC () {try {session.begintransaction (); string sql = "From forum"; List<forum> forums = session.createcriteria (Forum.class). SetFirstResult (2). SetMaxResults ( ). List ();for (forum forum : forums) {systEm.out.println (Forum.getname ());} Session.gettransaction (). commit ();} catch (exception e) {session.gettransaction (). rollback (); E.printstacktrace ();}} /* * fuzzy query-sql */@Testpublic void testlikeforsql () {try {session.begintransaction ( ); string sql = "Select * from hnsq_forum where name like :name "; List<forum> forums = session.createsqlquery (SQL). Addentity (Forum.class). SetParameter (" Name ", "%demo% "). List ();for (forum forum : forums) {system.out.println ( Forum.getname ());} Session.gettransaction (). commit ();} catch (exception e) {e.printstacktrace (); Session.gettransaction (). rollback ();}} /* * fuzzy query-hql */@Testpublic void testlikeforhql () {try {session.begintransaction ( ); string sql = "from forum where name like :name "; list<forum> forums = session.createquery (SQL). Setparameter ("name", "%demo%"). List ();for (forum forum : forums) {system.out.println (Forum.getname ());} Session.gettransaction (). commit ();} catch (exception e) {e.printstacktrace (); Session.gettransaction (). rollback ();}} /* * fuzzy query-qbc */@Testpublic &NBSP;VOID&NBSP;TESTLIKEFORQBC () {try {session.begintransaction ( ); List<forum> forums = session.createcriteria (Forum.class). Add (Restrictions.like ("name", "%demo%"). List ();for (forum forum : forums) {system.out.println (Forum.getName ( ));} Session.gettransaction (). commit ();} catch (exception e) {e.printstacktrace (); Session.gettransaction (). rollback ();}}
650) this.width=650; "Src=" https://s1.51cto.com/wyfs02/M00/8F/54/wKioL1jbTteS3NpWAABwCKMO5XE378.png-wh_500x0-wm_ 3-wmp_4-s_1040989631.png "title=" Qq20170324102905.png "alt=" Wkiol1jbttes3npwaabwckmo5xe378.png-wh_50 "/>
This article from the "Vegetarian Yan" blog, declined to reprint!
hibernate5-paged Query and fuzzy query