數(shù)據(jù)庫(kù)名稱:test
數(shù)據(jù)表名稱:user
數(shù)據(jù)庫(kù)數(shù)據(jù):int id primary AUTO_INCREMENT,String name缅刽,int age;
首先需要先創(chuàng)建一個(gè)數(shù)據(jù)庫(kù),打開Tomcat后在localhost/phpmyAdmin頁(yè)面新建一個(gè)數(shù)據(jù)庫(kù)瞧壮,然后聲明字段
首先在項(xiàng)目右邊打開Database頁(yè)面尾菇,添加一個(gè)數(shù)據(jù)庫(kù)境析,由于我用的是Mysql,選擇Mysql
填寫數(shù)據(jù)庫(kù)名稱后派诬,由于沒有設(shè)置密碼劳淆,所以Users信息就填寫root,密碼留空默赂,測(cè)試下Connection后沛鸵,添加數(shù)據(jù)庫(kù)成功后就可以看到數(shù)據(jù)庫(kù)里面的內(nèi)容了
之后我們要做的就是添加Hibernate框架,右鍵項(xiàng)目 - add framework support缆八,選擇Hibernate后谒臼,選擇Creata default hibernate configuration and main class和Import database schema,和新建Spring項(xiàng)目的時(shí)候一樣耀里,選擇dowload蜈缤,之后就會(huì)發(fā)現(xiàn)Hibernate讓你選擇綁定的數(shù)據(jù)庫(kù),然后就可以選擇剛才打開的mysql冯挎,填寫Database的包名底哥,就可以添加Hibernate框架了
添加完框架后會(huì)發(fā)現(xiàn)多了幾個(gè)文件:UserEntity,hibernate.cfg.xml房官,Main
UserEntity 是Hibernate自動(dòng)生成的趾徽,用來(lái)返回從數(shù)據(jù)庫(kù)獲取到的數(shù)據(jù)的!
hibernate.cfg.xml是Hibernate的配置文件翰守,需要放在WEB-INF/classes文件夾下
Main是用來(lái)對(duì)數(shù)據(jù)庫(kù)做處理的類
接下來(lái)需要進(jìn)行幾個(gè)操作孵奶,首先是hibernate.cfg.xml的配置
1. 配置connection.driver_class,添加mysql-connector-java-5.1.39-bin.jar到lib蜡峰,并且添加到項(xiàng)目
2. <property name="hibernate.dialect">org.hibernate.dialect.MySQLDialect</property>配置數(shù)據(jù)庫(kù)語(yǔ)言
3. <property name="connection.password"></property>配置mysql用戶名
4. <property name="connection.username">root</property>配置mysql密碼
5. 打開項(xiàng)目設(shè)置了袁,然后查看problem朗恳,將problem一個(gè)一個(gè)地fix掉
配置好hibernate后,開始寫Hibernate的代碼载绿!
獲取數(shù)據(jù)庫(kù)所有信息
@RequestMapping(value = "users", method = RequestMethod.GET)
public String getResult(ModelMap map) {
Session session = DbConnection.getSession();
List<User> items = (List<User>) session.createCriteria(UserEntity.class).list();
map.addAttribute("users", items);
session.close();
return "users";
}
將數(shù)據(jù)添加到數(shù)據(jù)庫(kù)
Session session = DbConnection.getSession();
Transaction transaction = session.beginTransaction();
UserEntity entity = new UserEntity();
entity.setName(name);
entity.setAge((byte) age);
session.save(entity);
transaction.commit();
session.close();