A股上市公司传智教育(股票代码 003032)旗下技术交流社区北京昌平校区

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

© AjaxOne 初级黑马   /  2019-6-6 15:06  /  681 人查看  /  0 人回复  /   0 人收藏 转载请遵从CC协议 禁止商业使用本文

---------------实体类--------------------

@Entity //声明实体类
@Table(name="cst_customer") //建立实体类和表的映射关系
public class Customer {
       
        @Id//声明当前私有属性为主键
        @GeneratedValue(strategy=GenerationType.IDENTITY) //配置主键的生成策略
        @Column(name="cust_id") //指定和表中cust_id字段的映射关系
        private Long custId;
       
        @Column(name="cust_name") //指定和表中cust_name字段的映射关系
        private String custName;
       
        @Column(name="cust_source")//指定和表中cust_source字段的映射关系
        private String custSource;
       
        @Column(name="cust_industry")//指定和表中cust_industry字段的映射关系
        private String custIndustry;
       
        @Column(name="cust_level")//指定和表中cust_level字段的映射关系
        private String custLevel;
       
        @Column(name="cust_address")//指定和表中cust_address字段的映射关系
        private String custAddress;
       
        @Column(name="cust_phone")//指定和表中cust_phone字段的映射关系
        private String custPhone;
-----------------配置文件-------------------
<?xml version="1.0" encoding="UTF-8"?>
<persistence xmlns="http://java.sun.com/xml/ns/persistence"
        xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
        xsi:schemaLocation="http://java.sun.com/xml/ns/persistence  
    http://java.sun.com/xml/ns/persistence/persistence_2_0.xsd"
        version="2.0">
        <!--配置持久化单元
                name:持久化单元名称
                transaction-type:事务类型
                         RESOURCE_LOCAL:本地事务管理
                         JTA:分布式事务管理 -->
        <persistence-unit name="myJpa" transaction-type="RESOURCE_LOCAL">
                <!--配置JPA规范的服务提供商 -->
                <provider>org.hibernate.jpa.HibernatePersistenceProvider</provider>
                <properties>
                        <!-- 数据库驱动 -->
                        <property name="javax.persistence.jdbc.driver" value="com.mysql.jdbc.Driver" />
                        <!-- 数据库地址 -->
                        <property name="javax.persistence.jdbc.url" value="jdbc:mysql://localhost:3306/ssh" />
                        <!-- 数据库用户名 -->
                        <property name="javax.persistence.jdbc.user" value="root" />
                        <!-- 数据库密码 -->
                        <property name="javax.persistence.jdbc.password" value="111111" />

                        <!--jpa提供者的可选配置:我们的JPA规范的提供者为hibernate,所以jpa的核心配置中兼容hibernate的配 -->
                        <property name="hibernate.show_sql" value="true" />
                        <property name="hibernate.format_sql" value="true" />
                        <property name="hibernate.hbm2ddl.auto" value="create" />
                </properties>
        </persistence-unit>
</persistence>

//测试-------------------------------------------------
@Test
        public void test() {
                /**
                 * 创建实体管理类工厂,借助Persistence的静态方法获取
                 *                 其中传递的参数为持久化单元名称,需要jpa配置文件中指定
                 */
                EntityManagerFactory factory = Persistence.createEntityManagerFactory("myJpa");
                //创建实体管理类
                EntityManager em = factory.createEntityManager();
                //获取事务对象
                EntityTransaction tx = em.getTransaction();
                //开启事务
                tx.begin();
                Customer c = new Customer();
                c.setCustName("传智播客");
                //保存操作
                em.persist(c);
                //提交事务
                tx.commit();
                //释放资源
                em.close();
                factory.close();
        }

0 个回复

您需要登录后才可以回帖 登录 | 加入黑马