javaEEJDBC操作数据库.docx
《javaEEJDBC操作数据库.docx》由会员分享,可在线阅读,更多相关《javaEEJDBC操作数据库.docx(7页珍藏版)》请在冰豆网上搜索。
javaEEJDBC操作数据库
Java企业级开发(J2EE)实验报告
指导教师:
王磊
课程名称:
Java企业级开发(J2EE)
年级:
12
实验日期:
2014-3-19
姓名:
xxx
学号:
03
班级:
2班
实验名称:
JDBC操作数据库
实验序号:
实验一
成员人数:
1
一、实验目的及要求
实验目的:
1、学习JDBC操作数据库的编程方法;
2、了解MyEclipse导入数据库驱动包的方法;
3、掌握MicrosoftSQLServer2008数据库的建立方法;实验原理:
1、jdbc是sun公司定义的一套访问数据库的规范(接口+类),主要是放在java.sql包下面。
2、导入相应JDBC的数据库的实现(数据库驱动)
3、Connection接口代表数据库的链接,客户端所有的交互都是通过
Connection对象完成的。
二、实验环境
WindowsXP,MicrosoftSQLServer2008,MyEclipse
三、实验内容及完成情况
1、常用数据库的URL写法
Oracle:
jdbc:
oracle:
thin:
@localhost:
1521:
sid
SqlServer:
jdbc:
sqlserver:
//localhost:
1433;DatabaseName=xxx
MySql:
jdbc:
mysql:
//localhost:
3306/orcl
2、在SQLServer2008中创建用户数据库
/*
*创建者:
王磊
*时间:
*功能:
建立用户管理数据库,请在SSMS中直接运行
*/
createdatabaseUsersManager--库名为UsersManageron
(name='UsersManager_data',
filename='d:
\javaEE使用的数据库\UsersManager_data.mdf',size=10mb
)
logon
(name='UsersManager_log',
filename='d:
\javaEE使用的数据库\UsersManager_log.ldf',size=10mb
)
go
useUsersManager
createtableTUserLogin--创建用户登录表
(
idintprimarykey,--标签编号,主码usernamenvarchar(20)notnull,--用户姓名可变字符串类型,长度20[password]nvarchar(20),--密码可变字符串类型,长度20
gradeintdefault1,--用户级别,默认为1emailnvarchar(50)
)
useUsersManager
insertintoTUserLoginvalues(1,'wl1','123456',5,'wl1@')insertintoTUserLoginvalues(2,'wl2','123456',1,'wl2@')insertintoTUserLoginvalues(3,'wl3','123456',1,'wl3@')insertintoTUserLoginvalues(4,'wl4','123456',1,'wl4@')insertintoTUserLoginvalues(5,'wl5','123456',1,'wl5@')insertintoTUserLoginvalues(6,'wl6','123456',1,'wl6@')insertintoTUserLoginvalues(7,'wl7','123456',1,'wl7@')insertintoTUserLoginvalues(8,'wl8','123456',1,'wl8@')insertintoTUserLoginvalues(9,'wl9','123456',1,'wl9@')insertintoTUserLoginvalues(10,'wl10','123456',1,'wl10@')insertintoTUserLoginvalues(11,'admin','123456',5,'admin@')
2、具体操作步骤:
(1)新建java工程,新建包,新建类,类名首字母大写。
(2)在工程下新建lib文件夹,引入sqljdbc4.jar驱动
(3)装载驱动完毕后,右键点击驱动包,在弹出的菜单中选择“BuildPath”
→“AddtoBuildPath”
(4)实验一:
打印数据库中的全体用户名和电子邮件
packagecom.wl.jdbc;importjava.sql.*;publicclassJdbcTest{
publicstaticvoidmain(String[]args)throwsSQLException{
//使用JDBC操作SqlServer数据库
Connectionct=null;
PreparedStatementps=null;ResultSetrs=null;
try{
//1加载驱动
Class.forName("com.microsoft.sqlserver.jdbc.SQLServerDriver");
//2得到链接
ct=
DriverManager.getConnection("jdbc:
sqlserver:
//localhost:
1433;
DatabaseName=UsersManager","sa","123456");
//创建sql对象
ps=ct.prepareStatement("select*fromTUserLogin");
//执行sql语句
rs=ps.executeQuery();
while(rs.next()){
System.out.println(rs.getString("username")+"|"+rs.getString("email"));
}
}catch(ClassNotFoundExceptione){//TODOAuto-generatedcatchblock
e.printStackTrace();
}finally{
//关闭资源
if(rs!
=null){
rs.close();
}
if(ps!
=null){
try{
ps.close();
}catch(SQLExceptione){
//TODOAuto-generatedcatchblocke.printStackTrace();
}
}
if(ct!
=null){
try{
ct.close();
}catch(SQLExceptione){
//TODOAuto-generatedcatchblocke.printStackTrace();
}
}
}
}
}
运行结果:
(5)实验二:
向数据库中插入一条信息
编号:
12姓名:
mary密码:
123456级别:
3电子邮件:
mary@
try{
//1加载驱动
Class.forName("com.microsoft.sqlserver.jdbc.SQLServerDriver");
//2得到链接
ct=
DriverManager.getConnection("jdbc:
sqlserver:
//localhost:
1433;
DatabaseName=UsersManager",
"sa","123456");
//创建sql对象
//ps=ct.prepareStatement("select*fromTUserLogin");ps=ct.prepareStatement("insertintoTUserLoginvalues(?
?
?
?
?
)");
ps.setString(1,"12");ps.setString(2,"mary");ps.setString(3,"123456");ps.setString(4,"3");ps.setString(5,"mary@");
//执行sql语句
ps.executeUpdate();
}catch(ClassNotFoundExceptione){//TODOAuto-generatedcatchblock
e.printStackTrace();
}finally{
//关闭资源
if(rs!
=null){
rs.close();
}
if(ps!
=null){
try{
ps.close();
}catch(SQLExceptione){
//TODOAuto-generatedcatchblocke.printStackTrace();
}
}
if(ct!
=null){
try{
ct.close();
}catch(SQLExceptione){
//TODOAuto-generatedcatchblocke.printStackTrace();
}
}
}
执行后,在SqlServer中执行select*fromTuserLogin,可以查看结果,也可以像实验一一样,定义一个结果集对象,使用while循环进行遍历输出。
运行结果: