什么是jdbc
JDBC(JavaDataBase Connectivity)就是Java数据库连接,是用Java语言来操作数据库。原来我们操作数据库是在控制台使用SQL语句来操作数据库,JDBC是用Java语言向数据库发送SQL语句。
由SUN公司提供一套访问数据库的规范(就是一组接口),并提供连接数据库的协议标准,然后各个数据库厂商会遵循SUN的规范提供一套访问自己公司的数据库服务器的API出现。SUN提供的规范命名为JDBC,而各个厂商提供的,遵循了JDBC规范的,可以访问自己数据库的API被称之为驱动。
JDBC 编程步骤
1,一般流程
Class.forName("com.mysql.jdbc.Driver");//加载驱动
String url="jdbc:mysql://192.168.56.101:3306/kgcnews"; //本机地址和要访问的数据库库名
Connection conn= DriverManager.getConnection(url,"kb07","ok");//使用驱动管理器生成连接,获得数据库连接
Statement stmt=conn.createStatement();//创建任务管理器,执行sql语句
String sql="select * from news_category ";
ResultSet rs=stmt.executeQuery(sql);//返回查询结果
while(rs.next()){
Category c=new Category();
c.setId(rs.getInt("id"));
c.setName(rs.getString("name"));
c.setDate(rs.getDate("createDate"));
System.out.println(c);
}
rs.close();stmt.close();conn.close();//释放资源
2,进行增加,删除,修改数据时,stmt.executeUpdate()
返回值是int 类型,意义是发生改变的行数;
3,使用preparedStatement()
;(可以防范sql注入问题,安全问题)
例
PreparedStatement statement = connection.prepareStatement(sql);
预查询,需要把sql语句放进去,暂时不放的可以用?代替(参数使用?占位符)
例如
public static int update(String sql,Object...params)throws Exception{ //多惨
PreparedStatement statement=null;
pstm=conn.prepareStatement(sql);
for (int i = 0; i < params.length; i++) {
pstm.setObject(i+1,params[i]);
}
return pstm.executeUpdate();
}
创建配置文件:后缀名写为properties, 在里面编写需要的内容
在工具类中调用该配置文件的方法:
在static静态代码块中读取配置文件:
Properties pro=new Properties(); //这是一个集合类
pro.load(new FileReader(name="路径")) //加载文件
3,获取数据,赋值
private static String url=pro.getProperty("url");
获取src路径下的文件 可以通过ClassLoader类加载器(动态获取路径)
ClassLoader classloader=类名.class.getClassLoader();
URL res=classloader.getResource("配置文件名");
String path=res.getPath();
pro.load( new FileReader(path))
String sql="insert into news_detail(title,summary,author) values(?,?,?)" ;
Object[] params={"建国爱我","美丽的风景线","川建国"};
update(sql,params);