a874909657
2018-03-16 09:03
采纳率: 41.7%
浏览 3.2k
已采纳

java程序(jdbc) 向mysql数据库插入数据的问题

我的项目里有3个String 变量
String A ;
String B;
String C;
我想把它们插入到mysql数据库,
数据库我能连上,但是不知道怎么插入,求各位大神解答一下

  • 写回答
  • 关注问题
  • 收藏
  • 邀请回答

9条回答 默认 最新

  • echo_wjcwjc 2018-03-17 08:55
    已采纳
    /**
     * 执行更新操作
     * @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);
    }
    
    已采纳该答案
    打赏 评论
  • hello.. 2018-03-16 09:08

    你原生的jdbc,还是使用某某框架, 如果使用原生的jdbc,网上一大把啊

    打赏 评论
  • 200320 2018-03-16 09:14

    我稍微讲解一下,用非专业的方式。
    一般将项目中的数据存入数据库,其实需要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;
    
    }
    

    }

    
    
    打赏 评论
  • JavaBuilt 2018-03-16 09:55
    // 连接数据库获取数据 吧连接参数和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();
        }
    
    打赏 评论
  • 木旦人韦 2018-03-16 11:01

    也可以使用Hibernate将对象插入。

    打赏 评论
  • 筱贝 2018-03-16 13:01

    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是变量名

    打赏 评论
  • 马提斯亚胡 2018-03-17 01:11

    1楼基本实现了你的需求
    建议把Statement改成PreparedStatement 来用。

    打赏 评论
  • niaonao 2018-03-17 02:49

    给你要的简单的例子
    注册功能,是插入mysql数据

    打赏 评论
  • MikeDDT009 2018-03-17 04:23

    先设计好数据库要存储的数据(操作的表。需要知道结构,数据类型)再考虑插入问题

    打赏 评论

相关推荐 更多相似问题