Hibernate 连接 Mysql 写入数据
hibernate 版本 : 3.6.10
mysql 驱动 :mysql-connector-java-8.0.23.jar
mysql 版本: 8.0.22
1. eclipse 中创建 Dynamic Web Project
File -> new -> other -> Web -> Dynamic Web Project
2. 在mysql数据库中创建 hibernate 库 & user 表, user 表中字段及类型与 User 实体类相对应
代码如下:
create database hibernate; use hibernate; CREATE TABLE IF NOT EXISTS `user` ( `id` INT AUTO_INCREMENT, `name` VARCHAR(50), PRIMARY KEY ( `id` ) )
注:A:使用的是 navicat 数据库工具,付费软件,可免费试用14天。
打开navicat -> 连接 -> Mysql -> 连接名(自行定义) -> 密码框输入mysql数据库密码 -> 点击测试连接 -> 连接成功 -> 即可点击确定进行保存连接。
连接名上右键 -> 点击新建查询 -> 填入上方SQL代码,即可创建数据库&表
B:使用MySql Conmand Line Client 工具创建:

创建成功后可以使用命令: desc user;查看表结构

3. 将hibernate所需jar包和mysql-connector-java-xxx.jar 粘贴到 WebContent->WEB-INF->lib 目录下。
antlr-2.7.6.jar
commons-collections-3.1.jar
dom4j-1.6.1.jar
hibernate-jpa-2.0-api-1.0.1.Final.jar
hibernate3.jar
javassist-3.12.0.GA.jar
jta-1.1.jar
mysql-connector-java-8.0.23.jar
ojdbc6.jar
slf4j-api-1.6.1.jar
slf4j-api-1.7.28.jar
slf4j-simple-1.6.1.jar
jar包下载地址: https://wwr.lanzous.com/i0kBooataeh 密码:1234
4. eclipse中src目录下创建grant包 & grant包下创建User实体类
public class User{ private Integer id; private String name; //add getter & setter public Integer getId() { return id; } public void setId( Integer id ) { this.id = id; } public String getName() { return name; } public void setName(String name) { this.name = name; } }
5. 在grant包下创建 User.hbm.xml 文件
内容如下:
<?xml version="1.0" encoding="UTF-8"?> <!DOCTYPE hibernate-mapping PUBLIC "-//Hibernate/Hibernate Mapping DTD 3.0//EN" "http://hibernate.sourceforge.net/hibernate-mapping-3.0.dtd"> <hibernate-mapping> <!-- name属性对应类名,table属性对应表名 --> <class name="grant.User" table="user"> <!-- name代表的是User类中的id属性,column代表的是user表中的主键id --> <id name="id" column="id"> <!-- 主键生成策略 --> <generator class="native" /> </id> <!-- 其他属性使用property标签映射 --> <property name="name" column="name" type="java.lang.String" /> </class> </hibernate-mapping>
6. 在src目录下创建 hibernate.cfg.xml 文件
内容如下:
<?xml version="1.0" encoding="UTF-8"?> <!DOCTYPE hibernate-configuration PUBLIC "-//Hibernate/Hibernate Configuration DTD 3.0//EN" "http://hibernate.sourceforge.net/hibernate-configuration-3.0.dtd"> <hibernate-configuration> <session-factory> <!-- 指定方言 --> <property name="dialect"> org.hibernate.dialect.MySQL5Dialect </property> <!-- 链接数据库url --> <property name="connection.url"> <![CDATA[jdbc:mysql://localhost:3306/hibernate?useUnicode=true&characterEncoding=utf-8]]> </property> <!-- 连接数据库的用户名 --> <property name="connection.username"> root </property> <!-- 数据库的密码 --> <property name="connection.password"> XXX(此处填写mysql数据库密码) </property> <!-- 数据库驱动 --> <property name="connection.driver_class"> com.mysql.jdbc.Driver </property> <!-- 显示sql语句 --> <property name="show_sql"> true </property> <!-- 格式化sql语句 --> <property name="format_sql">true</property> <!-- 映射文件配置 --> <mapping resource="grant/User.hbm.xml" /> </session-factory> </hibernate-configuration>
7. 为web项目添加Junit测试
web项目名上右键 -> Build Path -> Configure Build Path -> 点击 Library -> Add Library -> JUnit -> Next -> Finish -> Apply -> Apply and close
8. 在src目录下创建 test 包 & test 包下创建HibernateTest 类
package test; import org.hibernate.SessionFactory; import org.hibernate.Transaction; import org.hibernate.cfg.Configuration; import org.hibernate.classic.Session; import org.junit.Test; import grant.User; public class HibernateTest { @Test public void testInsert() { // 创建Configuration对象并加载hibernate.cfg.xml配置文件 Configuration config = new Configuration().configure(); // 获取SessionFactory SessionFactory sessionFactory = config.buildSessionFactory(); // 从sessionFactory 获取 Session Session session = sessionFactory.openSession(); // 事务开启 Transaction transaction = session.beginTransaction(); // 对User类持久化操作 User user = new User(); user.setName("zhangsan"); user.setAge(21); user.setGender("男"); // 将对象(User)保存到表中 session.save(user); // 事务提交 transaction.commit(); // 关闭session & sessionFactory session.close(); sessionFactory.close(); } }
9. web项目名称上右键 -> Run As -> JUnit Test
控制台显示,即为成功

数据库可视化工具中查看:数据添加成功

mysql Conmand Line Client中查看方式:


浙公网安备 33010602011771号