我的项目里有3个String 变量
String A ;
String B;
String C;
我想把它们插入到mysql数据库,
数据库我能连上,但是不知道怎么插入,求各位大神解答一下
/**
* 执行更新操作
* @param sql 要执行更新的sql语句(insert、delete、update)
* @param params 要执行的更新语句中占位符?的值,给定的顺序必须跟?的顺序一致
* @return 更新语句执行后,所影响的数据的行数
*/
public int update(String sql,Object ... params){
Connection con=null;
PreparedStatement pstmt=null;
int result=0;
try {
con=this.getConnection(); //获取连接
//创建预编译执行语句
pstmt=con.prepareStatement(sql);
this.setParams(pstmt, params);
//执行预编译语句,获取结果
result=pstmt.executeUpdate();
} catch (SQLException e) {
e.printStackTrace();
} finally{
this.closeAll(null, pstmt, con);
}
return result;
}
public int insertDesk(String A,String B,String C){
DBHelper help = new DBHelper();//为上面update方法所在的类
String sql = "insert into 表名 values (?,?,?,1,0,0,0)";//?就是占位符就是你那个实参要插入的地方
return help.update(sql,A,B,C);
}
你原生的jdbc,还是使用某某框架, 如果使用原生的jdbc,网上一大把啊
我稍微讲解一下,用非专业的方式。
一般将项目中的数据存入数据库,其实需要3个方面。一个是Mysql数据库、一个你的项目、还有一个各种数据库为Java语言提供的连接Jar包。
也就是说,你的项目内还需要导入mysql的JDBC Jar包,在项目中导入Jar包后,你就可以通过使用Jar包中的类了。利用这些类,你可以建立项目和
mysql的连接->从项目中把某些值存入到数据库的某个表的中。
部分我几年前学习的代码
import java.sql.Connection;
import java.sql.DriverManager;
public class DBUtil {
private String url;
private String serverName;
private String portNumber;
private String databaseName;
private String userName;
private String passWord;
public DBUtil() {
url = "jdbc:mysql://";
serverName = "localhost";
portNumber = "3306";
databaseName = "blogdatabase";
userName = "root";
passWord = "123456";
}
private String getConnectionUrl() {
return url + serverName + ":" + portNumber + "/" + databaseName;
}
public Connection getConnection() {
Connection con = null;
try {
Class.forName("com.mysql.jdbc.Driver");
} catch (Exception e) {
System.out.println("getConnection():" + e.getMessage());
e.printStackTrace();
}
try {
con = DriverManager.getConnection(getConnectionUrl(), userName,
passWord);
} catch (Exception e) {
System.out.println(" Wrong!");
e.printStackTrace();
}
return con;
}
}
// 连接数据库获取数据 吧连接参数和sql语句改成你自己对应的,粘到你的方法里 搞定!
Connection conn = null;
Statement statement = null;
ResultSet rs = null;
// 连接参数
String url = "jdbc:mysql://localhost:3306/database"
String username ="root";
String password = "root";
try {
// 加载驱动
Class.forName("com.mysql.jdbc.Driver");
// 建立接连
conn = (Connection) DriverManager.getConnection(url, username, password);
// 创建sql命令发送器
statement = (Statement) conn.createStatement();
// 创建sql语句
String sql = "insert into test(A,B,C) value("A","B","C")";
// 查询 获取结果集
rs = statement.executeUpdate(sql);
// 处理结果集
按你自己的需要来判断,返回的是int值
} catch (ClassNotFoundException e) {
e.printStackTrace();
} catch (SQLException e) {
e.printStackTrace();
}
也可以使用Hibernate将对象插入。
1楼的答案就可以啊,你的意思是A可能是"张三",可能是"李四",也可能是"王二麻子",插入的时候就是插入A变量的值对吧,
1楼的内容,你把sql改一下就行了
String sql = "insert into test(A,B,C) value("A","B","C")";
你类里面不是定义了A/B/C三个变量嘛,他们保存不同的值,sql直接insert into test(A,B,C) value(A,B,C);就行了,前面的A/B/C是字段名,后面的A/B/C是变量名
1楼基本实现了你的需求
建议把Statement改成PreparedStatement 来用。
给你要的简单的例子
注册功能,是插入mysql数据
先设计好数据库要存储的数据(操作的表。需要知道结构,数据类型)再考虑插入问题