JDBC向数据库中插入数据

新建数据库,并插入相关数据。

 1 create database bbs;
 2
 3 use bbs;
 4
 5 create table article
 6 (
 7 id int primary key auto_increment,
 8 pid int,
 9 rootid int,
10 title varchar(255),
11 cont text,
12 pdate datetime,
13 isleaf int
14 );
15
16 insert into article values (null, 0, 1, ‘蚂蚁大战大象‘, ‘蚂蚁大战大象‘, now(), 1);
17 insert into article values (null, 1, 1, ‘大象被打趴下了‘, ‘大象被打趴下了‘,now(), 1);
18 insert into article values (null, 2, 1, ‘蚂蚁也不好过‘,‘蚂蚁也不好过‘, now(), 0);
19 insert into article values (null, 2, 1, ‘瞎说‘, ‘瞎说‘, now(), 1);
20 insert into article values (null, 4, 1, ‘没有瞎说‘, ‘没有瞎说‘, now(), 0);
21 insert into article values (null, 1, 1, ‘怎么可能‘, ‘怎么可能‘, now(), 1);
22 insert into article values (null, 6, 1, ‘怎么没有可能‘, ‘怎么没有可能‘, now(), 0);
23 insert into article values (null, 6, 1, ‘可能性是很大的‘, ‘可能性是很大的‘, now(), 0);
24 insert into article values (null, 2, 1, ‘大象进医院了‘, ‘大象进医院了‘, now(), 1);
25 insert into article values (null, 9, 1, ‘护士是蚂蚁‘, ‘护士是蚂蚁‘, now(), 0);

 为每一张表建立一个实体类,实体类中的属性对应着表的字段名。

 1 package qddx.JDBC;
 2 import java.sql.*;
 3 public class bbsVo {
 4
 5     private int id;
 6     private int pid;
 7     private int rootid;
 8     private String title;
 9     private String cont;
10     private Timestamp pdate;
11     private int isleaf;
12
13     public int getId(){
14         return id;
15     }
16     public void setId(int id){
17         this.id = id;
18     }
19
20     public int getPid(){
21         return pid;
22     }
23     public void setPid(int pid){
24         this.pid = pid;
25     }
26
27     public int getRootid(){
28         return rootid;
29     }
30     public void setRootid(int rootid){
31         this.rootid = rootid;
32     }
33
34     public String getTitle(){
35         return cont;
36     }
37     public void setCont(String title){
38         this.title = title;
39     }
40
41     public String getCont(){
42         return title;
43     }
44     public void setTitle(String cont){
45         this.cont = cont;
46     }
47     public Timestamp getPdate(){
48         return pdate;
49     }
50     public void setPdate(Timestamp pdate){
51         this.pdate = pdate;
52     }
53
54     public int getIsleaf(){
55         return isleaf;
56     }
57     public void setIsleaf(int isleaf){
58         this.isleaf = isleaf;
59     }
60
61 }

插入数据

package qddx.JDBC;
import java.sql.Connection;
import java.sql.PreparedStatement;
import java.sql.Timestamp;
import java.sql.*;
public class Addbbs {

    public void add(bbsVo vo){
        Connection conn = null;
         PreparedStatement pst = null;
         ResultSet rs = null;
         try{
         conn = JDBC_Connection.getConnection();
         String sql = "INSERT INTO ARTICLE(id,pid,rootid,title,cont,pdate,isleaf) values(?,?,?,?,?,?,?)";
         pst=conn.prepareStatement(sql);
         //把相应的参数 添加到pst对象中
         pst.setInt( 1, vo.getId());
         pst.setInt(2, vo.getPid());
         pst.setInt(3, vo.getRootid());
         pst.setString(4, vo.getTitle());
         pst.setString(5, vo.getCont());
         pst.setTimestamp(6, vo.getPdate());
         pst.setInt(7, vo.getIsleaf());
         //提交pst对象
         pst.executeUpdate();
         }catch(SQLException e){
             e.printStackTrace();
         }finally{
             JDBC_Connection.free(rs, conn, pst);//关闭数据库连接
         }
    }
    public static void main(String[] args) {
        // TODO Auto-generated method stub
        Addbbs addbbs = new Addbbs();
        bbsVo vo = new bbsVo();
        int id=13;
        int pid = 10;
        int rootid = 1;
        String title = "蚂蚁";
        String cont = "蚂蚁";
        java.util.Date date = new java.util.Date();
        Timestamp pdate = new Timestamp(date.getTime());
        int isleaf = 1;
        //设置要添加的变量值,放入bbsvo中
        vo.setId(id);
        vo.setPid(pid);
        vo.setRootid(rootid);
        vo.setTitle(cont);
        vo.setCont(title);
        vo.setIsleaf(isleaf);
        vo.setPdate(pdate);
        addbbs.add(vo);
    }

}
时间: 2024-12-20 12:08:04

JDBC向数据库中插入数据的相关文章

使用JDBC向数据库中插入一条数据

原谅我是初学者,这个方法写的很烂,以后不会改进,谢谢 /** * 通过JDBC向数据库中插入一条数据 1.Statement 用于执行SQL语句的对象 1.1 通过Connection 的 * createStatement() 方法来获取 1.2 通过executeUpdate(sql) 的方法来执行SQL 1.3 * 传入的SQL可以是INSERT/UPDATE/DELETE,但不能是SELECT * * 2.Connection和Statement使用后一定要记得关闭 需要在finally

是用JDBC从数据库中获取数据并以java对象返回

/** * * @param c * for example Person.class * @param primaryKeys * primaryKeys为主键,参数顺序和表中保持一致 如果id, name 为主键 类名为Person 则 getEntity(Person.class,1,"name") * @return */ public static Object getEntity(Class c, Object... primaryKeys) { PreparedState

用java向mysql数据库中插入数据为空

利用java面向对像编程,向数据库中插入数据时.遇到插入的数据为空的情况.在此做一小结: 1.数据库连接正正常 2.sql语句没有问题 3.程序没有报异常 4.代码: import java.util.Scanner; import org.junit.Test;public class JDBCTest { //2).在测试方法testAAddStudent()中 //1.获取从控制台输入的Student对象:Student student=getStudentFromConsole(); /

解决getJdbcTemplate往oracle数据库中插入数据返回主键出错问题

我们使用Spring中的JdbcDaoSupport往Mysql中插入数据并返回主键代码,我们使用的mysql数据库,主键在数据库中设置为自增长:该类继承自JdbcDaoSupport,所以能直接使用getJdbcTemplate() public int saveUser(String userName,int age,String password){ getJdbcTemplate().update(new PreparedStatementCreator() { public Prepa

向Oracle数据库中插入数据出错:ORA-01036 无效的变量名或数据

向Oracle数据库中插入数据出错: 经过排查,因为Update数据时没有出错,所以OracleHelper没有问题: 看异常信息提示:无效的变量和数据,应该是SQL语句的问题,调试时所传的实例UserInfo数据是正确的,所以只能是SQL语句的问题: 曾今一度怀疑这样使用Sequence是错误的,中途变换了触发器,弄了变天触发器也些错误了, 再次回到直接用序列,仔细之下,终于发现这个分号‘:’,这里应该为‘:’,实在是太小了,很难发现,以后这里最好留一个空格.

以使用QSqlQuery向数据库中插入数据为例,做一个小结

背景: 最近在使用Qt+SQLite写一个本地数据库管理程序(使用者不懂SQL),在写向数据库中插入数据的 相关的函数时,我遇到了几个问题(暂时就这些): 1.向指定字段插入指定数据时,读取到的数据都是字符串类型,然而不同字段的数据类型是不同的,这 里需要获取不同字段的数据类型,再做类型转换 2.使用QSqlQuery插入数据时,具体实现的考虑 3.在实现一个功能时,是先将功能做出来,然后对一些最初未考虑到的问题慢慢补足,还是先尽可能考 虑到所有情况,再实现相关功能 4.此时某个函数的实现,是否

如何使用myBatis在数据库中插入数据并返回主键

在MyBatis中,希望在Oracle中插入数据的同时返回主键值,而非插入的条数. ① oracle使用 selectKey. U_USER_INFO_SEQ 是在数据库中定义好的这张表关联的序列sequence, Nextval是获取自增的id <insert id="insertSelective" parameterType="com.jxxx.p2pp.model.UUserInfo"> <selectKey resultType=&quo

mongodb数据库中插入数据

一:connection 访问集合: 在mongodb数据库中,数据是存储在许多数据集合中,可以使用数据库对象的collection方法访问一个集合.该方法使用如下: db.collection(collectionName, [options], [callback]); collectionName参数值是一个字符串,用于指定需要访问的集合名,该参数是必须填写的.options参数值为一个对象,用于指定访问该集合时使用的选项,使用的属性可以百度搜索下,选项比较多,用到的时候可以查下.call

使用JDBC从数据库中查询数据

* ResultSet 结果集:封装了使用JDBC 进行查询的结果 * 1. 调用Statement 对象的 executeQuery(sql) 方法可以得到结果集 * 2. ResultSet 返回的实际上就是一张数据表,有一个指针指向数据表的第一行的前面, * 可以调用next()方法检测下一行是否有效,若有效,返回true,且指针下移, * 相当于iterator 对象的 hasNext() 和 next()方法的结合体 * 3. 当指针定位到一行时,可以通过调用getXxx(index)