如何用hibernate,session.save()方法给mysql添加数据,完全新手越是详细越好。
展开全部
hibernate.cfg.xml配置需要注意几个地方:
<property name="hibernate.dialect">org.hibernate.dialect.MySQLDialect</property>
<property name="hibernate.connection.driver_class">com.mysql.jdbc.Driver</property>
<property name="hibernate.connection.url">jdbc:mysql://localhost:3306/test</property>
上述对应三个配置项,均需要配置mysql对应的值。
一、查询有如下三种方式:
1、采用createQuery()的方式,不用写sql语句,设定map对应的类名,后面可跟where条件语句:
Query query = session.createQuery("from Navigation n where n.parentid=" + parentid);
2、采用<hibernate-mapping>配置文件中配置sql语句的方式:
Query query = session.getNamedQuery("findUserById");
query.setString("userId", userId);
通过setString()方法设置筛选条件;
xml配置示例如下:
<hibernate-mapping>
<query name="findUserById">
<![CDATA[
from User u where u.id = :userId
]]>
</query>
</hibernate-mapping>
3、采用createSQLQuery()的方式,直接写sql语句:
SQLQuery query = session.createSQLQuery("select * from adm_navigation where parentid=" + parentid);
query.addEntity(Navigation.class); //需要设置对应的类
二、insert插入操作:
创建新的数据对象,设置属性之后,调用:
session.save(obj);
tx.commit()方法保存到数据库;
其中session为:Session session = new Configuration().configure().buildSessionFactory();
tx为:Transaction tx = session.beginTransaction();
需要引入包:
import org.hibernate.SessionFactory;
import org.hibernate.cfg.Configuration;
import org.hibernate.Transaction;
三、update更新操作与insert插入操作类似:
首先调用select查询方法,从数据库中读取出对象或对象数组,
然后给对象设置新的属性值,
再调用session.save(obj)和tx.commit()方法保存到数据库中。
<property name="hibernate.dialect">org.hibernate.dialect.MySQLDialect</property>
<property name="hibernate.connection.driver_class">com.mysql.jdbc.Driver</property>
<property name="hibernate.connection.url">jdbc:mysql://localhost:3306/test</property>
上述对应三个配置项,均需要配置mysql对应的值。
一、查询有如下三种方式:
1、采用createQuery()的方式,不用写sql语句,设定map对应的类名,后面可跟where条件语句:
Query query = session.createQuery("from Navigation n where n.parentid=" + parentid);
2、采用<hibernate-mapping>配置文件中配置sql语句的方式:
Query query = session.getNamedQuery("findUserById");
query.setString("userId", userId);
通过setString()方法设置筛选条件;
xml配置示例如下:
<hibernate-mapping>
<query name="findUserById">
<![CDATA[
from User u where u.id = :userId
]]>
</query>
</hibernate-mapping>
3、采用createSQLQuery()的方式,直接写sql语句:
SQLQuery query = session.createSQLQuery("select * from adm_navigation where parentid=" + parentid);
query.addEntity(Navigation.class); //需要设置对应的类
二、insert插入操作:
创建新的数据对象,设置属性之后,调用:
session.save(obj);
tx.commit()方法保存到数据库;
其中session为:Session session = new Configuration().configure().buildSessionFactory();
tx为:Transaction tx = session.beginTransaction();
需要引入包:
import org.hibernate.SessionFactory;
import org.hibernate.cfg.Configuration;
import org.hibernate.Transaction;
三、update更新操作与insert插入操作类似:
首先调用select查询方法,从数据库中读取出对象或对象数组,
然后给对象设置新的属性值,
再调用session.save(obj)和tx.commit()方法保存到数据库中。
追问
保存数据的时候,要不要处理id,包括更新,删除,id怎么处理?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询