Integrated hibernate2.1.6 to jboss3.2.5

xiaoxiao2021-03-06  107

Prerequisites: 1. Development tool Eclipse installed plugin LOMBOZ, and specifies that Server is JBoss2, has established a DataSource connection with MySQL in JBoss, JNDI is Java: / MySQLDS3, which has been established in MySQL CATColumn | Type | Modifier -------- ---------------------- ---------- CAT_ID | Character (32) | NOT NULLNAME | CHARACTER VARYING (16) | NOT NULLSEX | Character (1) | Weight | Real | Indexes: CAT_PKEY PRIMARY Key Btree (CAT_ID) Integration Steps: 1, Generate a web application 2, WEB-INF / LIB should include the following Hibernate must package hibernate2.jarodmg-3.0.jarcommons-collections-2.0.4.jarcommons-logging-1.0.4.jardom4j-1.4.jarehcache-0.9.jarcglib-ful-2.0.2.jar3, in this Application of WEB-INF / CLASSES to generate hibernate.cfg.xml (you can also use hibernate.properties, not discussed), the content is as follows: Java: / my SQLDS True hibernate.diaract net.sqldiaalect

Hibernate / sessionFactory provides you need to bind the JNDI name of the sessionFactory (Binding, you can use Context Lookup in the container). Java: / mysqlds is a named MySQL DataSource name that has been bound. Hibernate.Dialev Net.sf.hibernate.Dialect.mysqldiaLect is hibernate to indicate database dialects for MySQL. Cat.hbm.xml is the Hibernate mapping file, which will be mentioned below. 4. Define a persistence class (POJO) - Cat.javapublic class cat {private string id; private string name; private carat weight; public cat () {} public string getId () {returnid;} Public void setid (String ID) {this.id = id;} public string getName () {return name;} public void setname (String name) {this.name = name;} public char getsex () {Return Sex;} Public void setsex (char sex) {this.sex = sex;} public float getWeight () {return weight;} {this.weight = weight;}} 5, define class mapping files - cat .hbm.xml

This XML file is placed in the same directory as Hibernate.cfg.xml (I don't know if you can't put it in other places. 6, define a startup servlet -inithibernate.java, start Hibernate in the servlet in init (), and bind JNDIPUBLIC CLASS INIBERNATE EXTENDS HTTPSERVLET {

public void init (ServletConfig config) throws ServletException {super.init (config); try {SessionFactory sf = new Configuration () configure () buildSessionFactory ();.. System.out.println ( "Hibernate Startup completed successfully");} Catch (Exception EX) {EX.PrintStackTrace ();} // Todo method stub generated by Lomboz}

public void service (ServletRequest request, ServletResponse response) throws ServletException, IOException {// TODO Method stub generated by Lomboz}} In order to make the Servlet can be executed when the server starts, configure WEB.XML file: INITHIBERNATE INIBERNATE com.pbmaster.study.hibernate.servlet.inithibernate 10 7, ok, deploy this web application, start JBoss! If there is no Exception information in the information you play in the JBoss console, then it is successful. According to the introduction of the Hibernate document, another way is to define a hibernateutil class, calling this class's static method CurrentSion once. In fact, these two methods can achieve the effects.

8. Test Hibernate define a servlet, which is as follows: context ctx = new initialContext (); sf = (sessionFactory) CTX.lookup ("Hibernate / sessionFactory); session session = sf.opensession (); Transaction tx = session.begintransaction (); CAT princess = new cat (); princess.setname ("princess"); Princess.SetSex ('f'); Princess.SetWeight (7.4f); session.save (Princess); TX.comMit (); session.close (); if there is no abnormality, there should already have a data in the database! An example of JSP to do inquiry: <% @ page import = "javax.naming. *"%> <% @ Page import = "Net .sf.hibernate. * "%> <% @ Page Import =" java.util. * "%> <% @ page import =" com.catmiw.hibernate.study.po. * "%> <% try {context ctx = new InitialContext (); // initialize to give context SessionFactory sf = (SessionFactory) ctx.lookup ( "hibernate / SessionFactory"); Session sess = sf.openSession (); String temp; System.out.println ( "Success connect Hibernate! "); Query query = sess.createQuery (" Select Cat from Cat "); Query.SetCharacter (" SEX ", 'F'); for (item it = query.Iterate (); it.hasnext (); {cat CAT = (cat) it.next (); temp = cat.getname ();%> Welcome </ title> </ head > <Body> <center> Name is: <% = temp%> </ center> </ body> </ html> <%} sess.close ();} catch (exception e) {system.out.print "GET DATA ERROR!"); E.PrintStackTrace ();}%> From the displayed SQL statement,</p></div><div class="text-center mt-3 text-grey"> 转载请注明原文地址:https://www.9cbs.com/read-103366.html</div><div class="plugin d-flex justify-content-center mt-3"></div><hr><div class="row"><div class="col-lg-12 text-muted mt-2"><i class="icon-tags mr-2"></i><span class="badge border border-secondary mr-2"><h2 class="h6 mb-0 small"><a class="text-secondary" href="tag-2.html">9cbs</a></h2></span></div></div></div></div><div class="card card-postlist border-white shadow"><div class="card-body"><div class="card-title"><div class="d-flex justify-content-between"><div><b>New Post</b>(<span class="posts">0</span>) </div><div></div></div></div><ul class="postlist list-unstyled"> </ul></div></div><div class="d-none threadlist"><input type="checkbox" name="modtid" value="103366" checked /></div></div></div></div></div><footer class="text-muted small bg-dark py-4 mt-3" id="footer"><div class="container"><div class="row"><div class="col">CopyRight © 2020 All Rights Reserved </div><div class="col text-right">Processed: <b>0.037</b>, SQL: <b>9</b></div></div></div></footer><script src="./lang/en-us/lang.js?2.2.0"></script><script src="view/js/jquery.min.js?2.2.0"></script><script src="view/js/popper.min.js?2.2.0"></script><script src="view/js/bootstrap.min.js?2.2.0"></script><script src="view/js/xiuno.js?2.2.0"></script><script src="view/js/bootstrap-plugin.js?2.2.0"></script><script src="view/js/async.min.js?2.2.0"></script><script src="view/js/form.js?2.2.0"></script><script> var debug = DEBUG = 0; var url_rewrite_on = 1; var url_path = './'; var forumarr = {"1":"Tech"}; var fid = 1; var uid = 0; var gid = 0; xn.options.water_image_url = 'view/img/water-small.png'; </script><script src="view/js/wellcms.js?2.2.0"></script><a class="scroll-to-top rounded" href="javascript:void(0);"><i class="icon-angle-up"></i></a><a class="scroll-to-bottom rounded" href="javascript:void(0);" style="display: inline;"><i class="icon-angle-down"></i></a></body></html><script> var forum_url = 'list-1.html'; var safe_token = '4z1baTwG1A4vZNJfW7cJWAxCiuJVUq65t02wt6CIqfFROunBLh3hmq3zgNtsG8wibYhCc7L3PzPl9zDjBDiGsg_3D_3D'; var body = $('body'); body.on('submit', '#form', function() { var jthis = $(this); var jsubmit = jthis.find('#submit'); jthis.reset(); jsubmit.button('loading'); var postdata = jthis.serializeObject(); $.xpost(jthis.attr('action'), postdata, function(code, message) { if(code == 0) { location.reload(); } else { $.alert(message); jsubmit.button('reset'); } }); return false; }); function resize_image() { var jmessagelist = $('div.message'); var first_width = jmessagelist.width(); jmessagelist.each(function() { var jdiv = $(this); var maxwidth = jdiv.attr('isfirst') ? first_width : jdiv.width(); var jmessage_width = Math.min(jdiv.width(), maxwidth); jdiv.find('img, embed, iframe, video').each(function() { var jimg = $(this); var img_width = this.org_width; var img_height = this.org_height; if(!img_width) { var img_width = jimg.attr('width'); var img_height = jimg.attr('height'); this.org_width = img_width; this.org_height = img_height; } if(img_width > jmessage_width) { if(this.tagName == 'IMG') { jimg.width(jmessage_width); jimg.css('height', 'auto'); jimg.css('cursor', 'pointer'); jimg.on('click', function() { }); } else { jimg.width(jmessage_width); var height = (img_height / img_width) * jimg.width(); jimg.height(height); } } }); }); } function resize_table() { $('div.message').each(function() { var jdiv = $(this); jdiv.find('table').addClass('table').wrap('<div class="table-responsive"></div>'); }); } $(function() { resize_image(); resize_table(); $(window).on('resize', resize_image); }); var jmessage = $('#message'); jmessage.on('focus', function() {if(jmessage.t) { clearTimeout(jmessage.t); jmessage.t = null; } jmessage.css('height', '6rem'); }); jmessage.on('blur', function() {jmessage.t = setTimeout(function() { jmessage.css('height', '2.5rem');}, 1000); }); $('#nav li[data-active="fid-1"]').addClass('active'); </script>