hibernate连mysql
来源:互联网 发布:小白自学编程 编辑:程序博客网 时间:2024/05/18 22:10
创建工程如图:
某些jar包不一定有用到。
SQL:
create table tb_animal(id integer primary key auto_increment,name varchar(20) not null);
mysql.hibernate.cfg.xml:
<?xml version='1.0' encoding='utf-8'?><!DOCTYPE hibernate-configuration PUBLIC "-//Hibernate/Hibernate Configuration DTD 3.0//EN" "http://www.hibernate.org/dtd/hibernate-configuration-3.0.dtd"><hibernate-configuration><session-factory><!-- Database connection settings --><property name="connection.driver_class">com.mysql.jdbc.Driver</property><property name="connection.url">jdbc:mysql://127.0.0.1:3306/animal</property><property name="connection.username">root</property><property name="connection.password">root123</property><property name="connection.pool_size">1</property><property name="dialect">org.hibernate.dialect.MySQL5Dialect</property><property name="show_sql">true</property><property name="hibernate.show_sql">true </property><property name="jdbc.fetch_size">50</property><mapping resource="com/animal/pojo/Animal.hbm.xml"/></session-factory></hibernate-configuration>
Animal:
package com.animal.pojo;public class Animal {private int id;private String name;public int getId() {return id;}public void setId(int id) {this.id = id;}public String getName() {return name;}public void setName(String name) {this.name = name;}}
<?xml version="1.0"?><!DOCTYPE hibernate-mapping PUBLIC "-//Hibernate/Hibernate Mapping DTD 3.0//EN" "http://www.hibernate.org/dtd/hibernate-mapping-3.0.dtd"><hibernate-mapping package="com.animal.pojo"><class name="Animal" table="tb_animal"><id name="id" column="id" type="integer"><generator class="native" /></id><property name="name" column="name" type="string" /></class><query name="getAnimalById">from Animal where id=?</query><sql-query name="getAnimalByName">select * from tb_animal where name=?</sql-query></hibernate-mapping>
测试:
package com.animal.test;import java.util.List;import java.util.Random;import org.hibernate.Criteria;import org.hibernate.Query;import org.hibernate.SQLQuery;import org.hibernate.Session;import org.hibernate.SessionFactory;import org.hibernate.Transaction;import org.hibernate.cfg.Configuration;import org.hibernate.criterion.DetachedCriteria;import org.hibernate.criterion.Restrictions;import com.animal.pojo.Animal;import junit.framework.TestCase;public class TestAnimal extends TestCase {private Session session = null;private static final String mysqlCfgName = "/mysql.hibernate.cfg.xml";private static final SessionFactory factory = new Configuration().configure(mysqlCfgName).buildSessionFactory();private Transaction tran = null;@Overrideprotected void setUp() throws Exception {session = factory.openSession();tran = session.beginTransaction();}public void testInsertAnimal() {for (int i = 0; i < 10; i++) {Animal animal = new Animal();animal.setName("animal_" + i);session.save(animal);}tran.commit();}public void testHQL() {// from后面是对象,不是表名String hql = "from Animal where id=?";Query query = session.createQuery(hql);query.setInteger(0, 1);List<Animal> list = query.list();out(list);}public void testCriteria() {Criteria criteria = session.createCriteria(Animal.class);criteria.add(Restrictions.eq("id", 1));List<Animal> list = criteria.list();out(list);}public void testDetachedCriteria() {DetachedCriteria dc = DetachedCriteria.forClass(Animal.class);dc.add(Restrictions.eq("id", 1));Criteria criteria = dc.getExecutableCriteria(session);List<Animal> list = criteria.list();out(list);}public void testSQLQuery() {// from后面是表名,不是对象String queryString = "select * from tb_animal where id=?";SQLQuery query = session.createSQLQuery(queryString);query.addEntity(Animal.class);query.setInteger(0, 1);List<Animal> list = query.list();out(list);}public void testNamedQuery() {Query query = session.getNamedQuery("getAnimalById");query.setInteger(0, 1);List<Animal> list = query.list();out(list);}public void testNamedSQLQuery() {Query query = session.getNamedQuery("getAnimalByName");query.setString(0, "animal_1");List<?> list = query.list();for (int i = 0; i < list.size(); i++) {Object[] objs = (Object[]) list.get(i);System.out.println(objs[0] + ", " + objs[1]);}}public void testUpdate() {Random random = new Random();Animal animal = new Animal();animal.setId(1);animal.setName("u_animal_" + random.nextInt(10));session.saveOrUpdate(animal);tran.commit();}public void testDelete() {Animal animal = new Animal();animal.setId(10);session.delete(animal);tran.commit();}@Overrideprotected void tearDown() throws Exception {tran = null;session.close();session = null;}private void out(List<Animal> list) {if (list == null) {return;}for (Animal animal : list) {System.out.println(animal.getId() + ", " + animal.getName());}}}
package com.animal.test;import junit.framework.Test;import junit.framework.TestSuite;public class TestAll {public static Test suite() {TestSuite testSuite = new TestSuite();testSuite.addTestSuite(TestAnimal.class);return testSuite;}}
0 0
- hibernate连mysql
- 用Hibernate连Mysql中文问题解决方法
- hibernate dbcp mysql 断开重连
- hibernate连接mysql自动重连
- hibernate mysql 数据源自动重连失败(could not open hibernate session for transation)
- 配置Hibernate连数据库
- Hibernate 连 Access
- hibernate连oracle
- hibernate连MySql 数据库中遇到个Every derived table must have its own alias
- hibernate连MySql 数据库中遇到个Every derived table must have its own alias
- jsp连mysql
- JSP连MySQL
- JAVA 连MYSQL
- VC++连MySQL
- C语言连MySQL
- ASP连MYSQL
- vc连mysql类
- Java连MySQL
- 如何在oracle 11g 中导出空表
- java.lang.NoClassDefFoundError: org/apache/juli/logging/LogFactory的解决
- LeetCode OJ:Remove Duplicates from Sorted Array II
- 平衡二叉树(AVL树)
- [HTML]Css设置img属性让图片水平居中,居左,居右
- hibernate连mysql
- Qt 微信气泡框
- 顶级技术网站博客汇总
- JavaScript精简代码 非一般的写法
- [HTML]display:inline、block、inline-block的区别
- UIImagePickerController
- uva 10635 - Prince and Princess(线段树)
- EXCEPTION_DEBUG_INFO structure
- 题目1127:简单密码