SpringDataJPA-----配置文件
1....maven下的pom.xml配置文件:
pom.xml
2....resources下的META-INF下的persistence.xml(注意:此为分层切文件名字默认,不许更改)
1 <?xml version="1.0" encoding="UTF-8"?> 2 <persistence xmlns="http://java.sun.com/xml/ns/persistence" version="2.0"> 3 <!--配置持久化单元 在配置文件中至少有一个 4 name 持久化单元的名称 5 transaction-type 事物类型 6 RESOURCE_LOCAL 单数据库的事物 7 JTA 分布式事物 跨数据的事物 多个数据库的事物 8 --> 9 <persistence-unit name="mysqlAccount" transaction-type="RESOURCE_LOCAL"> 10 <properties> 11 <property name="javax.persistence.jdbc.driver" value="com.mysql.jdbc.Driver"/> 12 <property name="javax.persistence.jdbc.user" value="root"/> 13 <property name="javax.persistence.jdbc.password" value="wsc"/> 14 <property name="javax.persistence.jdbc.url" value="jdbc:mysql://localhost:3306/shop"/> 15 16 <!--配置hibernate的属性 17 是否在控制台输出SQL语句--> 18 <property name="hibernate.show_sql" value="true"/> 19 <!--sql语句是否格式化--> 20 <property name="hibernate.format_sql" value="true"/> 21 22 <!--是否自动创建数据库表 23 value 可选值 create update none 24 create 程序自动创建数据库表 如果表存在 先删除后创建 25 update 程序自动创建数据库表 如果表存在 不创建 26 none 不会创建 27 --> 28 <property name="hibernate.hbm2ddl.auto" value="create"/> 29 </properties> 30 31 32 </persistence-unit> 33 </persistence>
3....建一个简单地java代码块entity,
1 package com.wsc.core; 2 3 import javax.persistence.*; 4 5 /** 6 * @version 1.0 7 * @ClassName Account 8 * @Description TODO 9 * @Author WSC 10 * @Date 2019/8/14 13:55 11 **/ 12 13 // 该类是jpa的实体类 14 @Entity 15 // 配置实体类和数据库表中映射关系 name 对应的表名 16 @Table(name="account") 17 public class Account { 18 // 配置主键的生成策略 自增长 identity 19 @GeneratedValue(strategy = GenerationType.IDENTITY) 20 @Id 21 //配置属性和字段名之间关系 22 @Column(name="id") 23 private int id; 24 @Column(name="name") 25 private String name; 26 @Column(name="cash") 27 private Float cash; 28 29 public int getId() { 30 return id; 31 } 32 33 public void setId(int id) { 34 this.id = id; 35 } 36 37 public String getName() { 38 return name; 39 } 40 41 public void setName(String name) { 42 this.name = name; 43 } 44 45 public Float getCash() { 46 return cash; 47 } 48 49 public void setCash(Float cash) { 50 this.cash = cash; 51 } 52 53 @Override 54 public String toString() { 55 return "Account{" + 56 "id=" + id + 57 ", name='" + name + '\'' + 58 ", cash=" + cash + 59 '}'; 60 } 61 }
4....简单地test类
1 package com.wsc.core.test; 2 3 import com.wsc.core.Account; 4 import org.junit.Test; 5 6 import javax.persistence.EntityManager; 7 import javax.persistence.EntityManagerFactory; 8 import javax.persistence.EntityTransaction; 9 import javax.persistence.Persistence; 10 11 /** 12 * @version 1.0 13 * @ClassName TestSpringDataJPA 14 * @Description TODO 15 * @Author WSC 16 * @Date 2019/8/14 14:05 17 **/ 18 public class TestSpringDataJPA { 19 @Test 20 public void testJPA(){ 21 // 1 创键一个EntityManagerFactory 对象 使用完关闭 22 EntityManagerFactory managerFactory = Persistence.createEntityManagerFactory("mysqlAccount"); 23 // 2 使用工厂对象EntityManagerFactory 就是一个连接 24 EntityManager entityManager = managerFactory.createEntityManager(); 25 // 3 开启事物 26 EntityTransaction transaction = entityManager.getTransaction(); 27 transaction.begin(); 28 // 4 创键 account 对象 29 Account account = new Account(); 30 // 5 使用Entitymanager 对象 的persist 方法向数据库添加数据 31 account.setName("wsc"); 32 account.setCash(1000000f); 33 entityManager.persist(account); 34 // 6 事物提交 35 transaction.commit(); 36 // 7 关闭连接 37 entityManager.close(); 38 managerFactory.close(); 39 } 40 }
5...运行:console输出结果:
1 "C:\Program Files\Java\jdk1.8.0_201\bin\java.exe" -ea -Didea.test.cyclic.buffer.size=1048576 "-javaagent:E:\idea\IntelliJ IDEA 2019.1.1\lib\idea_rt.jar=13977:E:\idea\IntelliJ IDEA 2019.1.1\bin" -Dfile.encoding=UTF-8 -classpath "E:\idea\IntelliJ IDEA 2019.1.1\lib\idea_rt.jar;E:\idea\IntelliJ IDEA 2019.1.1\plugins\junit\lib\junit-rt.jar;E:\idea\IntelliJ IDEA 2019.1.1\plugins\junit\lib\junit5-rt.jar;C:\Program Files\Java\jdk1.8.0_201\jre\lib\charsets.jar;C:\Program Files\Java\jdk1.8.0_201\jre\lib\deploy.jar;C:\Program Files\Java\jdk1.8.0_201\jre\lib\ext\access-bridge-64.jar;C:\Program Files\Java\jdk1.8.0_201\jre\lib\ext\cldrdata.jar;C:\Program Files\Java\jdk1.8.0_201\jre\lib\ext\dnsns.jar;C:\Program Files\Java\jdk1.8.0_201\jre\lib\ext\jaccess.jar;C:\Program Files\Java\jdk1.8.0_201\jre\lib\ext\jfxrt.jar;C:\Program Files\Java\jdk1.8.0_201\jre\lib\ext\localedata.jar;C:\Program Files\Java\jdk1.8.0_201\jre\lib\ext\nashorn.jar;C:\Program Files\Java\jdk1.8.0_201\jre\lib\ext\sunec.jar;C:\Program Files\Java\jdk1.8.0_201\jre\lib\ext\sunjce_provider.jar;C:\Program Files\Java\jdk1.8.0_201\jre\lib\ext\sunmscapi.jar;C:\Program Files\Java\jdk1.8.0_201\jre\lib\ext\sunpkcs11.jar;C:\Program Files\Java\jdk1.8.0_201\jre\lib\ext\zipfs.jar;C:\Program Files\Java\jdk1.8.0_201\jre\lib\javaws.jar;C:\Program Files\Java\jdk1.8.0_201\jre\lib\jce.jar;C:\Program Files\Java\jdk1.8.0_201\jre\lib\jfr.jar;C:\Program Files\Java\jdk1.8.0_201\jre\lib\jfxswt.jar;C:\Program Files\Java\jdk1.8.0_201\jre\lib\jsse.jar;C:\Program Files\Java\jdk1.8.0_201\jre\lib\management-agent.jar;C:\Program Files\Java\jdk1.8.0_201\jre\lib\plugin.jar;C:\Program Files\Java\jdk1.8.0_201\jre\lib\resources.jar;C:\Program Files\Java\jdk1.8.0_201\jre\lib\rt.jar;E:\idea\springDataJPA\springDateJpa\target\test-classes;E:\idea\springDataJPA\springDateJpa\target\classes;E:\local_repository\repository_pinyougou\junit\junit\4.12\junit-4.12.jar;E:\local_repository\repository_pinyougou\org\hamcrest\hamcrest-core\1.3\hamcrest-core-1.3.jar;E:\local_repository\repository_pinyougou\mysql\mysql-connector-java\5.1.6\mysql-connector-java-5.1.6.jar;E:\local_repository\repository_pinyougou\org\hibernate\hibernate-entitymanager\5.0.9.Final\hibernate-entitymanager-5.0.9.Final.jar;E:\local_repository\repository_pinyougou\org\jboss\logging\jboss-logging\3.3.0.Final\jboss-logging-3.3.0.Final.jar;E:\local_repository\repository_pinyougou\org\hibernate\hibernate-core\5.0.9.Final\hibernate-core-5.0.9.Final.jar;E:\local_repository\repository_pinyougou\antlr\antlr\2.7.7\antlr-2.7.7.jar;E:\local_repository\repository_pinyougou\org\jboss\jandex\2.0.0.Final\jandex-2.0.0.Final.jar;E:\local_repository\repository_pinyougou\dom4j\dom4j\1.6.1\dom4j-1.6.1.jar;E:\local_repository\repository_pinyougou\xml-apis\xml-apis\1.0.b2\xml-apis-1.0.b2.jar;E:\local_repository\repository_pinyougou\org\hibernate\common\hibernate-commons-annotations\5.0.1.Final\hibernate-commons-annotations-5.0.1.Final.jar;E:\local_repository\repository_pinyougou\org\hibernate\javax\persistence\hibernate-jpa-2.1-api\1.0.0.Final\hibernate-jpa-2.1-api-1.0.0.Final.jar;E:\local_repository\repository_pinyougou\org\javassist\javassist\3.18.1-GA\javassist-3.18.1-GA.jar;E:\local_repository\repository_pinyougou\org\apache\geronimo\specs\geronimo-jta_1.1_spec\1.1.1\geronimo-jta_1.1_spec-1.1.1.jar;E:\local_repository\repository_pinyougou\org\hibernate\hibernate-c3p0\5.0.9.Final\hibernate-c3p0-5.0.9.Final.jar;E:\local_repository\repository_pinyougou\com\mchange\c3p0\0.9.2.1\c3p0-0.9.2.1.jar;E:\local_repository\repository_pinyougou\com\mchange\mchange-commons-java\0.2.3.4\mchange-commons-java-0.2.3.4.jar;E:\local_repository\repository_pinyougou\log4j\log4j\1.2.17\log4j-1.2.17.jar" com.intellij.rt.execution.junit.JUnitStarter -ideVersion5 -junit4 com.wsc.core.test.TestSpringDataJPA,testJPA 2 log4j:WARN No appenders could be found for logger (org.jboss.logging). 3 log4j:WARN Please initialize the log4j system properly. 4 log4j:WARN See http://logging.apache.org/log4j/1.2/faq.html#noconfig for more info. 5 Hibernate: 6 drop table if exists account 7 Hibernate: 8 create table account ( 9 id integer not null auto_increment, 10 cash float, 11 name varchar(255), 12 primary key (id) 13 ) 14 Hibernate: 15 insert 16 into 17 account 18 (cash, name) 19 values 20 (?, ?) 21 22 Process finished with exit code 0
学习不分先后,知识不分多少;事无巨细,当以虚心求教;三人行,必有我师焉!!!wished for you successed !!!