js06金沙官网登录-js06.com-欢迎您

来自 计算机 2019-10-09 16:42 的文章
当前位置: js06金沙官网登录-js06.com-欢迎您 > 计算机 > 正文

《Java从入门到放弃》JavaSE入门篇:JDBC(入门版),

《Java从入门到放弃》JavaSE入门篇:JDBC(入门版),

其实···,我个人是很不喜欢这样的缩写的,比如:我有一句MMP不知道该不该讲!!!

这里面的MMP你知道是什么意思么!!!

还有WQNMLGB,你知道是什么吗?是的,没错,写全了就是“我去年买了个包”!!!

 

好吧,还是讲点正经的,JDBC是什么呢?大家说得不错,就是“觉得不错”!!!其工作原理如下图:

图片 1

根据上图来看,使用的步骤很清楚了吧。

    第一步:导入JDBC的驱动包。

    第二步:使用DriverManager加载驱动。

    第三步:调用JDBC API访问或操作数据库中的数据。

图片 2

 

JDBC要使用的常用类和接口如下图如式:

图片 3

 


接下来我们通过几个常用操作来演示使用Java访问MySql中的数据该如何编写代码。

先创建一个博客管理的数据库,在其中添加文章表,表中有以下几个字段:

    文章ID,文章标题,文章内容,发表时间,文章显示状态(0.不显示 1.显示)

之后再添加几条测试数据。

图片 4

 

一、添加博文

1.1 创建Blog实体类

1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 public class Blog {     private int blogid;   //ID     private String title; //标题     private String content;   //内容     private String pubtime;   //发表时间     private int blogstate;    //状态 0.不可见 1.可见           public int getBlogid() {         return blogid;     }     public void setBlogid(int blogid) {         this.blogid = blogid;     }     public String getTitle() {         return title;     }     public void setTitle(String title) {         this.title = title;     }     public String getContent() {         return content;     }     public void setContent(String content) {         this.content = content;     }     public String getPubtime() {         return pubtime;     }     public void setPubtime(String pubtime) {         this.pubtime = pubtime;     }     public int getBlogstate() {         return blogstate;     }     public void setBlogstate(int blogstate) {         this.blogstate = blogstate;     } }

 

1.2 创建BlogDAO类,编写添加方法

1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 public class BlogDAO {     /**      * 添加博客文章      * @param blog      * @return 是否添加成功 0.失败 1.成功      */     public int addBlog(Blog blog){         int result = 0;         try {             //1. 加载驱动             String driver = "com.mysql.jdbc.Driver";             Class.forName(driver);             //2. 创建连接             String url = "jdbc:mysql://127.0.0.1:3306/blogdb";             Connection conn = DriverManager.getConnection(url,"root","root");             //3. 执行SQL语句,?表示占位符,后期可以使用setxxx()方法给对应的位置填充数据             String sql ="INSERT INTO blogTbl (title, content) VALUES (?, ?)";             PreparedStatement ps = conn.prepareStatement(sql);             //3.1 填充数据             ps.setString(1, blog.getTitle());             ps.setString(2, blog.getContent());             result = ps.executeUpdate();             conn.close();         }catch (Exception e) {             // TODO Auto-generated catch block             e.printStackTrace();         }                   return result;     } }

 

1.3 创建Test类,测试添加方法

1 2 3 4 5 6 7 8 9 10 11 12 13 14 public static void main(String[] args){     Blog blog = new Blog();     BlogDAO blogDAO = new BlogDAO();           blog.setTitle("添加一个标题");     blog.setContent("添加了一点点内容...");           if(blogDAO.addBlog(blog)>0){         System.out.println("添加成功!");     }     else{         System.out.println("失败了...");     } }

结果:

图片 5

 

二、查询所有博文

    因为前面需要创建的文件都已经创建了,所以这儿只需要在BlogDAO类中编写查询所有博文的方法即可。

2.1 编写查询所有博文的方法

1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 public List<Blog> findAll(){     List<Blog> list = new ArrayList<Blog>();     try {         //1. 加载驱动         String driver = "com.mysql.jdbc.Driver";         Class.forName(driver);         //2. 创建连接         String url = "jdbc:mysql://127.0.0.1:3306/blogdb";         Connection conn = DriverManager.getConnection(url,"root","root");         //3. 执行SQL语句         String sql ="select blogid, title, content, pubtime, blogstate from blogTbl";         PreparedStatement ps = conn.prepareStatement(sql);         //3.1 读取数据并封装成Blog对象         ResultSet rs = ps.executeQuery();         while (rs.next()) {             Blog blog = new Blog();             blog.setBlogid(rs.getInt("blogid"));    //getInt()也可以通过下标读取数据             blog.setTitle(rs.getString("title"));             blog.setContent(rs.getString("content"));             blog.setPubtime(rs.getString("pubtime"));             blog.setBlogstate(rs.getInt("blogstate"));             list.add(blog);         }         conn.close();     }catch (Exception e) {         // TODO Auto-generated catch block         e.printStackTrace();     }     return list; }

注意:因为是读取数据,并且读取的数据不止一条记录,所以一般使用集合保存后返回。

 

2.2编写测试方法

1 2 3 4 5 6 7 8 9 10 11 12 13 public static void main(String[] args){     BlogDAO blogDAO = new BlogDAO();     List<Blog> list = blogDAO.findAll();           System.out.println("文章IDt标题tt发表时间tt状态t内容");     for (int i = 0; i < list.size(); i++) {         System.out.println(list.get(i).getBlogid()+"t"+                 list.get(i).getTitle() +"t"+                 list.get(i).getPubtime()+"t"+                 (list.get(i).getBlogstate()==0?"不可见":"可见")+"t"+                 list.get(i).getContent());     } }

结果:

图片 6

 

使用JDBC基本就这两个套路,一个是增、删、改的功能,一个是查询的功能。

练完,收功!!!图片 7

 

“软件思维”博客地址:51CTO博客园,感兴趣的小伙伴可以去看相关的其它博文。 

其实···,我个人是很不喜欢这样的缩写的,比如:我有一句MMP不知道该不该讲!!! 这...

本文由js06金沙官网登录-js06.com-欢迎您发布于计算机,转载请注明出处:《Java从入门到放弃》JavaSE入门篇:JDBC(入门版),

关键词: