Java实现增删改查

来源:互联网 发布:visio 2013 mac破解版 编辑:程序博客网 时间:2024/05/17 02:42

前言

增删改查是很多功能的基础,所以说把这个基础打好,你就能够实现更加复杂和强大的功能。

1.查询

1.1整体思路

查询是一个从数据库里面加载数据到内存的过程。

1.2流程

0.配置文件的创建

// mysql驱动类driver=com.mysql.jdbc.Driver//数据库路径url=jdbc:mysql://127.0.0.1:3306/news?useUnicode=true&characterEncode=utf8//数据库用户名username=root//数据库密码password=root

1.首先要与数据库建立链接
这里你可以写一个连接数据库的工具类,要不然每次都要加载配置,读取配置文件,可以把这些流程封装到一个类中,以后每次使用直接调用就可以了。

import java.io.InputStream;import java.sql.Connection;import java.sql.DriverManager;import java.sql.SQLException;import java.util.Properties;/** *  *  * @ClassName:DbUtil * @Description:数据库工具类 * @author zmh  * @date:2017年9月6日上午9:04:17 * */public class DbUtil {    private static String driver;    private static String url;    private static String username;    private static String password;    /**     * 加载配置文件     */    {        loadResource();    }    /**     * 读取配置文件     */    public static void loadResource(){        InputStream in = DbUtil.class.getResourceAsStream("/db.properties");        Properties properties = new Properties();        try {            properties.load(in);            driver=properties.getProperty("driver");            url=properties.getProperty("url");            username=properties.getProperty("username");            password=properties.getProperty("password");        } catch (Exception e) {            e.printStackTrace();        }finally{            try{                if(in!=null)in.close();            }catch(Exception e2){                e2.printStackTrace();            }        }    }    /**     * 数据库连接类     */    public static Connection getConnection(){        Connection connection=null;        try {            Class.forName(driver);            connection=DriverManager.getConnection(url, username, password);        } catch (Exception e) {            e.printStackTrace();        }        return connection;    }}

每次连接数据库的时候调用就可以了:

    DbUtil dbUtil=new DbUtil();    con=dbUtil.getConnection();

2.然后就是创建一个PreparedStatement对象,用于向数据库发送参数化SQL语句,并设置参数值。

PreparedStatement ps=null;//sql语句书写一定要正确,为确保正确可以先在数据库中新建一个查询,测试正确后再写于这里String sql="select title,description,content,typeId,publishTime,author,source from news where title=?;";//这里有异常需要捕获ps=con.prepareStatement(sql);ps.setString(1, newsTitle);

3.在这个PreparedStatement对象中执行SQL查询,并返回由查询生成的ResultSet对象。

ResultSet rs=null;rs=ps.executeQuery();

4.因为java是面向对象语言,查询的结果一般都是存于一个对象中

while(rs.next()){                news.setTitle(newsTitle);                news.setDescription(rs.getString("description"));                news.setContent(rs.getString("content"));                news.setTypeId(rs.getInt("typeId"));                news.setPublishTime(rs.getTimestamp("publishTime"));                news.setAuthor(rs.getString("author"));                news.setSource(rs.getString("source"));            }

5.最后别忘了关con,ps,rs这三个对象

    /**     * 关的顺序和创建的顺序正好相反     */    if(ps!=null&&!ps.isClosed())ps.close();    if(rs!=null&&!rs.isClosed())rs.close();    if(con!=null&&!con.isClosed())con.close();

2.增加和修改:二者的思路差不多

2.1整体思路

增加和修改都是内存中的数据存于数据库,一个持久化的过程

2.2流程

1.建立与数据库的连接

//在此就不再赘述,参考查询

2.然后就是创建一个PreparedStatement对象,用于向数据库发送参数化SQL语句,并设置参数值

//在此就不再赘述,参考查询//写一下增加和修改的SQL语句例子//增加String sql1="insert into news (title,description,typeId,publishTime,author,source,content) values(?,?,?,?,?,?,?);";//修改String sql2="update news set title=?, description=?, typeId=?, publishTime=?, author=?, source=?, content=? where title=?;";

3.在这个PreparedStatement对象中执行SQL增加和修改

//注意区别查询的执行方法//rs=ps.executeQuery();//因为增加和修改是数据存入数据库,所以没有查询结果,也就没有ResultSet对象rsps.executeUpdate();

4.因为增加和修改是数据存入数据库,所以没有查询结果
5.最后别忘了关con,ps,rs这三个对象
(不再赘述)

3.删除

3.1整体思路

删除是从数据库中删除指定的记录,根据某一条属性值

3.2流程

1.建立与数据库的连接

//在此就不再赘述,参考查询

2.然后就是创建一个PreparedStatement对象,用于向数据库发送参数化SQL语句,并设置参数值

//在此就不再赘述,参考查询//写一下增加和修改的SQL语句例子String sql="DELETE FROM news WHERE title = ?;";

3.在这个PreparedStatement对象中执行SQL增加和修改

//注意区别查询的执行方法//rs=ps.executeQuery();//因为删除是数据存入数据库,所以没有查询结果,也就没有ResultSet对象rsps.executeUpdate();

4.因为删除是数据存入数据库,所以没有查询结果
5.最后别忘了关con,ps,rs这三个对象
(不再赘述)

原创粉丝点击