黑马程序员技术交流社区

标题: 【郑州校区】Hibernate入门------HelloWord [打印本页]

作者: 我是楠楠    时间: 2017-12-13 09:53
标题: 【郑州校区】Hibernate入门------HelloWord
本帖最后由 我是楠楠 于 2017-12-13 09:55 编辑

Hibernate的helloword案例
第一步:导入相关jar包
第二步:创建modle类.根据表结构.
表结构:
[AppleScript] 纯文本查看 复制代码
CREATE TABLE `userdata` (
  `name` varchar(40) DEFAULT NULL,
  `pwd` varchar(40) DEFAULT NULL,
  `id` varchar(20) DEFAULT NULL
) ENGINE=InnoDB DEFAULT CHARSET=utf8
modle类:
[AppleScript] 纯文本查看 复制代码
public class User {
    private String id;
    private String name;
    private String pwd;
    public String getId() {
        return id;
    }
    public void setId(String id) {
        this.id = id;
    }
    public String getName() {
        return name;
    }
    public void setName(String name) {
        this.name = name;
    }
    public String getPwd() {
        return pwd;
    }
    public void setPwd(String pwd) {
        this.pwd = pwd;
    }
    }
第三步:创建modle的映射文件.
UserModel.hbm.xml :
[AppleScript] 纯文本查看 复制代码
<?xml version="1.0" encoding="UTF-8"?>
    <!DOCTYPE hibernate-mapping PUBLIC
            '-//Hibernate/Hibernate Mapping DTD 3.0//EN'
            'http://www.hibernate.org/dtd/hibernate-mapping-3.0.dtd'>
    <hibernate-mapping>
        <!-- 类与表的映射制作在class元素上 -->
        <!-- name:全路径类名 -->
        <!-- table:表名 -->
        <class name="zz.itcast.modle.User" table="userdata">
            <!-- 主键的映射制作在id元素上 -->
            <!-- name:对象中用于作为主键的属性名 -->
            <!-- colomn:表中主键字段名 -->
            <!-- 如果name与column值相同,可以省略column -->
            <id name="id" column="id">
                <!-- 将generator元素class属性设置为"assigned" 手动生成,必须给id -->
                <generator class="assigned" />
            </id>
            <!-- 属性与字段的映射制作在property元素上 -->
            <!-- name:类中的属性名 -->
            <!-- column:表中的字段名 -->
            <!-- 如果name与column值相同,可以省略column -->
            <property name="name" />
            <property name="pwd" />

        </class>
    </hibernate-mapping>
第四步:hibernate配置文件.
hibernate.cfg.xml. 放到classpath下.
[AppleScript] 纯文本查看 复制代码
<?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>
            <!-- 数据库连接的配置 -->
            <property name="connection.driver_class">com.mysql.jdbc.Driver</property>
            <property name="connection.url">jdbc:mysql://localhost:3306/userdb</property>
            <property name="connection.username">root</property>
            <property name="connection.password">123456</property>

            <!-- 可选配置 -->
            <!--是否支持方言  -->
            <property name="dialect">org.hibernate.dialect.MySQLDialect</property>
            <!--执行CURD时是否打印sql 语句  -->
            <property name="show_sql">true</property>

            <!-- 资源注册 -->
            <mapping resource="cn/fy/modle/UserModel.hbm.xml"/>
        </session-factory>
    </hibernate-configuration>
第五步:测试
[AppleScript] 纯文本查看 复制代码
// 1.创建一个要保存的数据
        User um = new User();
        um.setId("9");
        um.setName("张三");
        um.setPwd("123");
        // 2.加载配置信息
        /**
         * Configuration().configure(); ,默认读取classpath下hibernate.cfg.xml文件 new
         * Configuration().configure(“配置文件名”); 不常用
         */
        Configuration conf = new Configuration().configure();
        // 3.基于配置信息,创建SessionFactory对象
        SessionFactory sf = conf.buildSessionFactory();
        // 4.打开一个与数据库相关的Session对象
        Session session = sf.openSession();
        // 5.开启事务,基于Session得到
        Transaction t = session.beginTransaction();
        // 6.通过session保存数据
        session.save(um);
        // 7.提交事务
        t.commit();
        // 8.操作完毕后,关闭session连接对象
        session.close();      

【郑州校区】Python3 创建虚拟环境
【郑州校区】python基础之基本指令汇总
【郑州校区】Ubuntu 如何创建快捷方式

【郑州校区】python基础班之Linux 终端命令格式
【郑州校区】python基础班笔记之python操作系统
【郑州校区】subline 取消自动更新提示
【郑州校区】常用 Linux 命令的基本使用
【郑州校区】MyBatis 入门开发 —-基础入门
【郑州校区】文件和目录常用命令
【郑州校区】MyBatis 入门开发 ----Mapper接口开发
【郑州校区】系统信息相关命令
【郑州校区】用户权限相关命令
【郑州校区】远程管理常用命令
【郑州校区】文件和目录(理解)
【郑州校区】python学习之其他命令
【郑州校区】MyBatis 入门开发 ----配置文件
【郑州校区】MyBatis 入门开发 ----输入,输出参数
【郑州校区】三大框架之Struts2-day01
【郑州校区】三大框架之Struts2-day02
【郑州校区】将第3方的jar 添加到本地Maven库

传智播客·黑马程序员郑州校区地址
河南省郑州市 高新区长椿路11号大学科技园(西区)东门8号楼三层
联系电话 0371-56061160/61/62
来校路线  地铁一号线梧桐街站A口出


作者: 我是媛媛    时间: 2017-12-13 11:48

作者: 小小的人儿    时间: 2017-12-13 11:51
干货,赞一个
作者: 我是色色    时间: 2017-12-19 17:13
{:8_507:}




欢迎光临 黑马程序员技术交流社区 (http://bbs.itheima.com/) 黑马程序员IT技术论坛 X3.2