Jdbc
(1) 前提准备:
Mysql的绿色版本,navicat lit for mysql(数据库可视化软件),myeclipse2014
(2) 安装navicat lit for mysql
一直按下一步即可。(qq式安装)
(3):开启mysql服务
双击mysql文件夹下的mysql_start_utf8.bat即可,黑色屏幕一闪而过。(因为是用可视化工具,所以不需要配置环境变量)
(3) 连接数据库:
打开可视化工具,点击连接,出现
连接名随便取,密码这里是sa,然后点击连接测试,查看是否连接成功
(4) Myeclipse建立项目
打开后建立工程,file->new->javaproject
(5) 加载驱动包
将mysql-connector-java-5.1.6-bin这个文件复制在工程下面,然后右击->build path->add to build path.
Jdbc体系结构
:实现了应用程序和某个程序产品之间的接口,用于向数据库提供sql请求。
Jdbc API:提供一系列的抽象接口,主要用来连接数据库和直接调用sql命令和各种sql语句。
(1) 访问数据库,首先加载数据库驱动程序。(不同数据库加驱动程序不同,比如oracle,Class.forName("oracle.jdbc.driver.OracleDriver"))
Class.forName("com.mysql.jdbc.Driver"); //加载驱动
(注:一定要加载mysql-connector-java-5.1.7-bin.jar--jdbc驱动包)
(2)JDBC连接数据库创建连接对象
数据库url包含内容:数据库服务器的ip地址以及访问数据库的端口号,数据库名称,访问数据库用户名,密码。(有时需要指定数据库访问所采用的编码方式。)
Url="jdbc:mysql://localhost:3306/testnew?user=root&password=sa&userUnicode=true&characterEncoding=UTF-8";
Localhost可以用127.0.0.1代替,表示本地机器ip地址。
con = (Connection) DriverManager.getConnection(url)//获得数据库链接对象。
DriverManager.getConnection()方法在java中,重载了三种方法。如下,只介绍第一种。
DriverManager.getConnection(String url)
DriverManager.getConnection(String url,Properties info)
DriverManager.getConnection(String url,String user,String password)
总结连接数据库:
Class.forName("com.mysql.jdbc.Driver"); //加载驱动
String url;
url="jdbc:mysql://localhost:3306/testnew?user=root&password=sa&userUnicode=true&characterEncoding=UTF-8";
con = (Connection) DriverManager.getConnection(url)
(3)创建数据库操作对象
能够执行sql语句的对象。
http://blog.csdn.net/u011161786/article/details/48394751
用connection可常见两种不同的数据库操作对象:Statement,PrepareStatement
第一种:
Statement stmt=conn.createStatement();
Statement 对象提供了两个执种执行sql的方法
ResultSet executeQuery(String sql)//执行select,返回结果集
Int excuteUpdate(String sql)//执行update,insert,delete,返回一个整数
第二种:
PrepareStatement创建时直接指定sql对象
String sql=”.....”;
PrepareStatement pstmt= conn.PrepareStatement(sql);
PrepareStatement也有executeQuery,excuteUpdate方法,但是不带参数,因为创建PrepareStatement对象时候,conn.PrepareStatement(sql)方法已经指定sql语句。
对返回结果进行处理:
executeQuery方法返回ResultSet对象--由查询结果构成的数据表,ResultSet结果记录中隐含着一个数据行指针。
excuteUpdate方法返回int值,根据0或1判断是否成功。
释放资源:ResultSet,connection,PrepareStatement,Statement对象使用结束后关闭对象,释放资源。
Rs.close();
Stmt.close();
Con.close()
Pstmt.close()
//////////////////////////////////////////////////////////////
相关的sql语句,增删改查:
增
insert table set name=?,number=?,password=?
删
delete from table where name =?
改
update table set name=?,number=?,password=? where id=?
查
select name,password, from user where name=?
例子、:
public User query(String s)throws SQLException {
String sql="select uname,uid,upassword,idno,realname from user where uname=?";
User user=new User();
conn=DbUtil.getconnection();
PreparedStatement pstmt;
pstmt = conn.prepareStatement(sql);
//PrepareStatement对象的setXXX()方法,向PrepareStatement对象传递参数值。
pstmt.setString(1,s);
ResultSet rs=pstmt.executeQuery();
if(rs.next()){
//ResultSet对象的getXXX()方法,获取结果集中指定行的字段值,getXXX(int)或者getXXX(String)两种,前者int是指定第几个字段值,后一个String是指定字段属性名。
user.setUid(rs.getInt("uid"));
user.setUname(rs.getString("uname"));
user.setUpassword(rs.getString("upassword"));
user.setIdno(rs.getString("idno"));
user.setRealname(rs.getString("realname"));
return user;
}else{
return null;
}
}