java数据库例子
A. 求一个简单又经典的java与数据库例子,要有源代码哦!
//下面的是连接mysql的例子
package com.song.struts.mySql;
import javax.swing.JComponent;
import java.sql.*;
import java.util.*;
// import com.borland.dx.sql.dataset.*;
public class mySqlDao extends JComponent {
private String UserName="root";
private String PWD="root";
private String url;
private Connection cn;
private Statement stmt;
private ResultSet rs = null;
public mySqlDao(){
try {
Class.forName("org.gjt.mm.mysql.Driver");
}
catch(java.lang.ClassNotFoundException e){
System.err.println("mydb() org.gjt.mm.mysql.Driver: " + e.getMessage());
}
catch(Exception e) {
e.printStackTrace();
}
}
//////////////////////////////
///返回mysql 连接,connection
/////////////////////////////
public Connection Connect(String dbname,String ip){
try{
String hostip=ip;
Properties myP = new Properties();
myP.setProperty("useUnicode","true");
myP.setProperty("characterEncoding","GB2312");
url="jdbc:mysql://"+hostip+":3306/"+dbname+"?user="+UserName+"&password="+PWD+"";
if(cn!=null){
cn.close();
}
cn=DriverManager.getConnection(url,myP);
stmt= cn.createStatement(ResultSet.TYPE_SCROLL_INSENSITIVE,ResultSet.CONCUR_UPDATABLE);
System.out.println("db connect success");
return cn;
}
catch(Exception e){
System.err.println("db connect err"+e.getMessage());
return null;
}
}
//////////////////////////////////
///关闭连接
/////////////////////////////////
public void close(){
try{
if(stmt!=null){
stmt.close();
}
if(cn!=null){
cn.close();
}
System.err.println("db colse success");
}
catch(Exception e){
System.err.println("db close err"+e.getMessage());
}
}
/////////////////////////////////////////////
// 用于进行记录的查询操�?,用于select 语句�?
//参数:sql语句�?
//返回:ResultSet对象
///////////////////////////////////////////
public ResultSet executeSelect(String sql) {
try {
stmt=cn.createStatement(ResultSet.TYPE_SCROLL_SENSITIVE,ResultSet.CONCUR_UPDATABLE);
rs = stmt.executeQuery(sql);
return rs;
}
catch(SQLException ex) {
System.err.println("db.executeQuery: " + ex.getMessage());
return null;
}
}
//////////////////////////////////////////////
//用于进行add或�?�update,insert,del等的记录的操�?,
//入口参数:sql语句
//返回 :true,false
//////////////////////////////////////////////
public boolean executeUpdate(String sql) {
boolean bupdate=false;
try{
stmt=cn.createStatement(ResultSet.TYPE_SCROLL_SENSITIVE,ResultSet.CONCUR_UPDATABLE);
int rowCount = stmt.executeUpdate(sql);
if (rowCount!=0)
bupdate=true;
}
catch(SQLException ex) {
System.err.println("db.executeUpdate: " + ex.getMessage());
}
return bupdate;
}
//////////////////////////////////////////////
//用于进行表结构的操作,creat drop,modify等�??
//入口参数:sql语句
//返回 :true,false
//////////////////////////////////////////////
public boolean executeTable(String sql) {
boolean bupdate=false;
try {
stmt= cn.createStatement(ResultSet.TYPE_SCROLL_SENSITIVE,ResultSet.CONCUR_UPDATABLE);
System.out.print("对表的操作的sqlis :||"+sql+"||");
stmt.executeUpdate(sql);
bupdate=true;
}
catch(SQLException ex) {
System.err.println("db.executeTable: "+ex.getMessage());
}
return bupdate;
}
//////////////////////////
//返回数据库的信息
//////////////////////////
public Statement getLWPAIDStatement(){
try{
return cn.createStatement(ResultSet.TYPE_SCROLL_SENSITIVE,ResultSet.CONCUR_UPDATABLE);
}
catch(java.sql.SQLException e){
System.err.println("getAISPStatement():"+e.getMessage());
return null;
}
}
public DatabaseMetaData getLWPAIDMetaData(){
try{
return cn.getMetaData();
}
catch(java.sql.SQLException e){
System.err.println("getAISPMetaData():"+e.getMessage());
return null;
}
}
public static void main(String args[]){
mySqlDao a=new mySqlDao();
a.Connect("mydb", "localhost");
int b=-100;
ResultSet rs=a.executeSelect("select max(bill_id) from t_bill limit 1");
try{
while(rs.next()){
System.out.println("is in");
b=rs.getInt(1);
}
}catch(Exception e){
e.printStackTrace();
}
System.out.println(b);
// java.util.Date date=new java.util.Date();
// System.out.println(date.toString());
// a.executeTable("insert into t_user values(100,'123','1345')");
// a.executeTable("update t_user set insert_date='"+date.toString()+"' where user_id=100");
a.close();
System.out.print(new pub().asc2unicode("�?!"));
}
}
B. java中使用JDBC连接数据库的步骤
在Java中使用JDBC连接数据库,首先需要加载驱动,这可以通过以下代码实现:class.forName("驱动所在类及包名"),并且需要导入相应的jar包。接着,使用DriverManager.getConnection方法建立数据库连接,其参数包括数据库连接URL、用户名和密码,代码示例如下:
java.sql.Connection conn = DriverManager.getConnection(URL,USERNAME,PASSWORD);
构建SQL查询语句,例如查询表中特定字段的数据。SQL语句如下:
String sql = "SELECT * FROM tableName WHERE id=?";
通过Connection对象获取PreparedStatement对象,用于执行预编译的SQL语句。使用如下代码:
java.sql.PreparedStatement ptmt = conn.prepareStatement(sql);
设置预编译SQL语句的参数,比如设置id值。代码如下:
ptmt.setInt(1,id值);
执行查询并返回结果集,结果集对象用于获取查询结果。代码如下:
java.sql.ResultSet rs = ptmt.executeQuery();
遍历结果集并处理数据,例如打印字段值。代码示例如下:
while(rs.next){ System.out.println(rs.getString("字段名")); }
完成数据操作后,要关闭数据库连接、PreparedStatement对象和结果集对象,以释放资源。代码如下:
conn.close();ptmt.close();rs.close();
以上步骤涵盖了使用JDBC连接数据库的基本流程,确保代码的执行效率和资源的有效管理。
C. java中数据库到底是一个什么东西有什么用谢谢。。
数据库不是java中才有
数据库,database,知名见意,就是"存数据的库",是一种专门提供存放数据的功能的软件
举个例子,你刚开始学java,都是打印到控制台之类的小程序,当哪一天,要求你把打印出来的内容存到电脑上,你怎么办?没错,第一个办法就是写到文件里面.
可是,当哪一天,让你处理很多很多个打印内容,并且都要存下来的时候,你怎么办?
你可以都写在文件里面没有问题.
现在又有要求了,让你把你之前打印的内容给取出来,并且需要取内容中包含你的名字的.
好了,你就得写读取文件的处理,并且找到这些内容.
数据库最终的处理,就是把数据写到文件里面,并且提供方法让你以后读取这些内容,也就是非常完美的帮你解决了3中的问题
那这个有什么用呢?
再举个例子:你打游戏,游戏进行到一般,你要存档.你以为存档是做了什么?其实就是把当前的游戏运行的数据存到数据库里面.等你读档的时候再取出来.
举得例子非常简单.再举一个,比如这个网络知道.你提的问题为什么网络在1年以后还能给你显示出来,你以为它存在哪的?
D. Java代码通过JDBC实现数据库的增删改查(CRUD)操作
在开发Java程序中,经常需要与数据库进行交互,完成增删改查(CRUD)操作。JDBC(Java Database Connectivity)为Java程序提供了与数据库进行交互的接口,是实现这一功能的常用工具。本节将详细阐述如何通过Java代码使用JDBC实现数据库CRUD操作,包含小技巧、JDBC安装步骤、主程序注意事项以及属性配置文件的创建。
小技巧之一:在字符串中插入变量时,可以使用 "+" 运算符将变量转换为字符串。例如,`"Hello " + variableName`,这样可以将变量安全地插入到字符串中,避免直接拼接可能出现的格式问题或异常。
安装JDBC驱动时,首先访问 MySQL官网下载页面,下载最新版的JDBC驱动并解压到任意目录。接着,在集成开发环境(IDE)中,如 IntelliJ IDEA,导入该驱动。导入步骤如下图所示(注:图中已假设驱动已成功导入)。
为了确保主程序不发生SQL注入错误,通常遵循以下原则:使用参数化查询,而非字符串拼接方式构建SQL语句。这样可以有效避免通过外部输入影响SQL语句的逻辑,确保程序安全。在实际操作中,大多数情况下遵循这一原则即可避免SQL注入问题。不过,在处理用户输入数据时仍需谨慎,对于少部分特殊情况进行特殊处理,以确保安全。
为了更好地管理数据库连接属性,推荐使用属性配置文件。创建该文件通常在当前类的src目录下,命名为jdbc.properties。在该文件中,可以定义数据库连接的相关属性,如数据库URL、用户名、密码等,如下面的示例内容:
properties
# jdbc.properties内容示例
# 数据库连接属性配置
url=jdbc:mysql://localhost:3306/your_database
username=your_username
password=your_password
