java向数据库中插入数据,可以使用mysql数据库,使用statement类来 *** 作数据库,示例如下:
Connection conn = nullStatement st = null
try {
Class.forName("com.microsoft.sqlserver.jdbc.SQLServerDriver")//加载驱动类
conn = DriverManager.getConnection("jdbc:microsoft:sqlserver://<server_name>:<1433>", "name","pwd")
conn.setAutoCommit(false)
st = conn.createStatement()
// 模拟一个 str[i] = nd.getNodeValue().trim()
String[] str = new String[] { "aaa", "bbb", "ccc", "ddd", "eee","fff" }
String sqlStr = null
for (int i = 0 i < str.length i++) {
sqlStr = "INSERT INTO <TABLENAME> (<COLNAME>)VALUES('" + str[i] + "')"//向数据库中插入数据
st.executeUpdate(sqlStr)
}
conn.commit()
} catch (Exception e) {
e.printStackTrace()
} finally {//释放数据库的资源
try {
if (st != null)
st.close()
if(conn != null && !conn.isClosed()){
conn.close()
}
} catch (SQLException e) {
e.printStackTrace()
}
}
估计你还没学Hibernate吧,要是学了这个的话,上面的问题就不是问题了。你要是想达到你想的那样,可以用配置文件将driver,url,username,password这四个属性保存起来,然后用java代码去读配置文件。这样你数据库密码修改,只需修改配置文件,这样做的好处就是,当你换数据库的时候,也不必修改java代码。Java程序向数据库中插入数据,代码如下:
//首先创建数据库,(access,oracle,mysql,sqlsever)其中之一,其中access,sqlsever需要配置数据源(odbc)//然后再eclipse中创建类(ConnDb,Test,TestBean)ConnDb功能为连接数据库,查询,插入,删除,修改数据的类,Test为含有main方法的测试类,TestBean为数据表中的字段属性及set,get方法
//以下是ConnDb代码:
package db
import java.sql.Connection
import java.sql.DriverManager
import
java.sql.ResultSet
import java.sql.SQLException
import
java.sql.Statement
import java.util.ArrayList
public class ConnDb {
public Connection startConn(Connection conn){
try {
Class.forName("sun.jdbc.odbc.JdbcOdbcDriver")
conn = DriverManager.getConnection("jdbc:odbc:数据库","用户名", "密码")
} catch (Exception e) {
System.out.println("连接数据库时出现错误")
}
return conn
}
public ArrayList executeQuery(String sql){
Connection conn = null
Statement stmt = null
ResultSet rs = null
ArrayList list = new ArrayList()
try {
conn = startConn(conn)
stmt = conn.createStatement()
rs = stmt.executeQuery(sql)//sql为sql语句例如"select * from
表名",从main方法中传进来,这里用的是ArrayList 类将查询结果存储起来
while(rs.next()){
TestBean tb = new TestBean()
tb.setTid(rs.getString("tid"))
tb.setTname(rs.getString("tname"))
tb.setTinfo(rs.getString("tinfo"))
list.add(tb)
}
}
catch (SQLException e) {
// TODO Auto-generated catch block
e.printStackTrace()
}finally{
closeConn(rs,stmt,conn)
}
return list
}
public void executeUpdate(String sql){
Connection conn = null
Statement stmt = null
try {
conn =
startConn(conn)
stmt = conn.createStatement()
stmt.executeUpdate(sql)
}
catch (SQLException e) {
System.out.println("修改,插入或者删除数据库数据时发生错误!")
}finally{
closeConn(stmt,conn)
}
}
public void closeConn(ResultSet rs,Statement stmt,Connection conn){
try {
if(rs !=
null){
rs.close()
}
if(stmt != null){
stmt.close()
}
if(conn != null){
conn.close()
}
}
catch (SQLException e) {
// TODO Auto-generated catch
block
System.out.println("关闭数据库的时候发生错误!")
}
}
public void closeConn(Statement stmt,Connection conn){
try {
if(stmt != null){
stmt.close()
}
if(conn != null){
conn.close()
}
}
catch (SQLException e) {
// TODO Auto-generated catch block
System.out.println("关闭数据库的时候发生错误!")
}
}
}
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)