- jdbc获取mysql连接
- 实现mysql数据库的增改查
-
jdbc获取mysql连接
- 新建一个java项目或web项目,在src下新建一个jdbc连接的配置文件:dbConfig.properties;配置文件代码如下:
driverClassName = com.mysql.jdbc.Driverurl = jdbc:mysql://127.0.0.1:3306/test?characterEncoding=utf-8&zeroDateTimeBehavior=convertToNullusername = rootpassword = 123456
- 在对用数据库中建立相应的数据表,此处表名为userinfo。
- 新建一个获取mysql连接的工具类:JdbcUtils.java,具体代码如下:
-
package com.chen.learn.utils;import java.io.IOException;import java.io.InputStream;import java.sql.Connection;import java.sql.DriverManager;import java.sql.SQLException;import java.util.Properties;/** * mysql数据库连接工具类 * * @author chenxiaoyu * @email 1524904743@qq.com * @date 2016年9月8日 上午10:22:45 * @package com.chen.learn.utils * */public class JdbcUtils { private static Properties prop; //静态代码块,只在加载运行一次 static { //加载配置文件 InputStream io = JdbcUtils.class.getClassLoader().getResourceAsStream("dbConfig.properties"); //读取配置文件内容到properties对象中 prop = new Properties(); try { prop.load(io); //加载驱动类 Class.forName(prop.getProperty("driverClassName")); } catch (IOException e) { throw new RuntimeException(e); } catch (ClassNotFoundException e) { throw new RuntimeException(e); } } /** * 获取mysql数据库连接 * @return */ public static Connection getConnection() { Connection con = null; try { con = DriverManager.getConnection(prop.getProperty("url"), prop.getProperty("username"), prop.getProperty("password")); } catch (SQLException e) { throw new RuntimeException(e); } return con; }}
-
JDBC操作mysql数据库
利用上面写好的工具类来获取连接,然后进行增改查的操作,具体步骤看代码,
/** * 测试 * prep.execute()可以执行修改、添加和删除语句,其返回值是boolean类型 * 返回true:表示执行的是查询语句,可以使用getResultSet()获取查询到的ResultSet对象 * 返回false:表示执行的是修改、添加和删除的语句,可以使用getUpdateCount()获取受影响的记录条数 */ @Test public void testJdbc() { Connection con = JdbcUtils.getConnection(); //sql模板,增、改、查// String sql = "insert into userinfo(username, password, sex, age, create_time) values(?, ?, ?, ?, NOW())";// String sql = "update userinfo set username = ?, password = ?, sex = ?, age = ?, create_time = NOW() where id = ?"; String sql = "select * from userinfo where deleted = 0 and username = ?"; try { //预编译sql语句 PreparedStatement prep = con.prepareStatement(sql); //为上面的sql模板填充参数 prep.setString(1, "小黄");// prep.setString(2, "abc123");// prep.setString(3, "女");// prep.setInt(4, 22);// prep.setInt(5, 15); //执行sql语句 boolean result = prep.execute(); if (result) { ResultSet a = prep.getResultSet(); while (a.next()) { System.out.println(a.getString("username") + " ======== " + a.getString("password")); if (a.isLast()) { return; } } }else { int a = prep.getUpdateCount(); System.out.println(a); } } catch (Exception e) { throw new RuntimeException(e); } }
-------第一次写技术博客,感觉思路很混乱......有不对的地方请指正!