将“会员卡”信息保存到MySql数据库中的Card表中,进行查询和添加操作。
创建数据库的相关代码如下:
create database CardDB
go
use CardDB
go
create table card(
Id int NOT NULL auto_increment primary key,
name varchar(10) ,
sex varchar(2),
department varchar(100),
mobile varchar(11),
phone varchar(13),
email varchar(50),
address varchar(100),
flag varchar(10) NOT NULL
)
insert into card values(1,'李逍遥','男','政府机关','13005381456','0538-12345678','[email protected]','中国山东','1');
insert into card values(2,'周伯通','男','银行','13105354321','0531-87654321','[email protected]','山东济南','1');
insert into card values(3,'丘处机','男','大学','123456789','123456789','123456@126com','中国','0');
insert into card values(4,'李莫愁','女','中学','11111111111','22222222','[email protected]','山东','0');
insert into card values(5,'周芷若','女','小学','55555555555','6666666666','[email protected]','泰安','0');
select * from card
create table users(
Id int auto_increment primary key,
username varchar(10) not null,
userpassword varchar(10) not null,
userrealname varchar(50)
)
insert into users values(1,'zhangsan','12345','张三丰');
insert into users values(2,'lisi','123456','李四');
insert into users values(3,'wangwu','123456789','大刀王五');
insert into users values(4,'zhaoliu','12345','赵柳');
select* from users
按开发过程,其实现步骤依次是:
-
使用MyEclipse配置数据源
(2)在DB Browser窗口空白处右击,选择NEW
(1)在MyEclipse中切换界面,选择MyEclipse Database Explorer。
(3)在New Database Connection Driver窗口中,Driver template选项选择MySQL Connector/J,依次填入连接字符串,用户名,密码等内容,并导入MySQL驱动包。 下图为SQL Server的配置:
- 新建WEB Project,并添加Hibernate的开发能力
-
配置C3P0数据库连接池。
(1)添加c3p0数据库连接池所需jar文件。 (2)在hibernate.cfg.xml文件中配置c3p0连接池所需参数,具体参数看下图所示图片。
(3)在配置文件中添加如下语句,以保证在运行程序时,控制台显示出对应执行的SQL语句
-
使用Myeclipse创建类和映射文件。
(1)在src目录下新建包com.hnisc.entity,用于放置数据库Card表对应的Card.java类及Card.hbm.xml映射文件。 (2)切换到MyEclipse Database Explorer窗口,在Card表上右击,选择Hibernate Reverse Engineering。
-
测试代码
(1)在项目上新建source folder,命名为org.test,在此包下新建CardDaoTest类,并包含main方法。
(2)在CardDaoTest类中,新建如下代码。
import java.util.List;
import org.hibernate.Query;
import org.hibernate.Session;
import org.hibernate.Transaction;
import com.hnisc.entiy.Card;
import SessionFactory.HibernateSessionFactory;
public class CardDaoTest {
private Session session;
/**
* @param args
*/
public static void main(String[] args) {
// TODO Auto-generated method stub
CardDaoTest tu=new CardDaoTest();
tu.queryCard();
tu.savaCardz();
}
public void queryCard(){
session=HibernateSessionFactory.getSession();
try{
Query query=session.createQuery("from Card");
List list =query.list();
for(Object o:list){
Card card=(Card)o;
System.out.println(card.getName());
System.out.println(card.getAddress());
System.out.println(card.getEmail());
}
}catch(Exception e){
System.out.println(e);
}
}
public void savaCardz(){
session=HibernateSessionFactory.getSession();
Transaction td=session.beginTransaction();
Card card=new Card("张晓晓","女","公务员","11111","21343","11@qq,com","zhnag","1");
try{
session.save(card);
td.commit();
}
catch(Exception e){
td.rollback();
}finally{
HibernateSessionFactory.closeSession();
}
}
}
(3)运行java文件来进行测试结果。
hibernate.cfg.xml代码如下:
org.hibernate.dialect.MySQLDialect
jdbc:mysql://localhost:3306/carddb
root
qwe123
com.mysql.jdbc.Driver
mysqlconnect
2
8
300
Card.hbm.xml代码如下:
注意:在整个过程中Card.hbm.xml和Card.java是自动生成的,且这两个必须在同一个包下面