如何用hibernate,session.save()方法给mysql添加数据,完全新手越是详细越好。

 我来答
you8ooo
推荐于2017-12-16
知道答主
回答量:8
采纳率:0%
帮助的人:4万
展开全部
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()方法保存到数据库中。
追问
保存数据的时候,要不要处理id,包括更新,删除,id怎么处理?
229323989
2012-07-06 · TA获得超过282个赞
知道小有建树答主
回答量:297
采纳率:0%
帮助的人:139万
展开全部
要是你是用逆向工程先开发数据,生成domain对象的话,保存一条数据就直接session.save(Object obj);
比如你的学生有两个字段,ID号和NAME:
Student stu = new Student();
stu.setId(1);
stu.setName("小明");
session.save(stu);
//这样就可以了
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式