数据库连接
来源:互联网 发布:java 整型转二进制 编辑:程序博客网 时间:2024/06/06 01:45
此处用的是多态 接口对象指向实现类的对象
DriverManager这个用的java的接口
Driver用的是mysql的实现类
DriverManager.registerDriver(new Driver());
注意:mysql实现的DriverManager接口中的 方法时 这个注册驱动的功能 是静态的也就是说只要类加载
那么就会注册驱动 那么上述语句 就会注册两个
只要加载类就可以注册驱动那么下面语句就可以注册驱动
Class.forName("com.mysql.jdbc.Driver");
2.创建和数据库的连接
用getConnection方法 返回的永远是java.sql.Connection的实现类
多态
url的格式:
协议名:子协议://ip地址:端口号/数据库名
如果写的是本机的地址 那么没有网的情况下 本机也访问不到本机 因为只要不是localhost那么就是走的网络路线,所以访问不到
String url="jdbc:mysql://localhost:3306/myfirstdb";
三种方式都可以获取数据库连接对象 也就是利用了方法的重载 方法重载时,参数的顺序不同也就是对应的类型不同那么也是重载
第一种:参数有三个
Connection conn=DriverManager.getConnection("jdbc:mysql://localhost:3306/myfirstdb","root","123456");
第二种:参数有一个
Connection conn=DriverManager.getConnection(url+"?user=root&password=123456");
第三种:两个参数的重载
3。创建可以执行sql语句的对象
Statement statement=conn.createStatement();
4.使用statement对象执行sql语句
ResultSet rs=statement.executeQuery("select * from student");
5.取数据
while(rs.next()){
Object s1 = rs.getObject(1);
Object s2 = rs.getObject(2);
Object s3 = rs.getObject(3);
Object s4 = rs.getObject(4);
System.out.println(s1+"\t\t"+s2+"\t\t"+s3+"\t\t"+s4);
}
6关闭资源
conn.close();
statement.close();
rs.close();
当然还得创建一个配置文件
现在开始从配置文件中读出出来需要使用的值步骤如下:
获取这个类对象
ResourceBundle bundle = ResourceBundle.getBundle("zzhdbconfig");
ResourceBundle bundle = ResourceBundle.getBundle("zzhdbconfig");
然后类似map中获取健值那样 获取对应的值
String driverClass = bundle.getString("driverClass");
String url = bundle.getString("url");
String user = bundle.getString("user");
String password = bundle.getString("password");
老一套和创建连接
Class.forName(driverClass);
Connection conn = DriverManager.getConnection(url,user,password);
Statement st = conn.createStatement();
String sql = "select * from student";
String sql2 = "insert into student values(13,'赵六',33,'女博士')";
ResultSet rs = st.executeQuery(sql);
while(rs.next()){
System.out.println(rs.getObject(1));
}
关于rs的各种功能的类 例如 获取 例的个数 获取行的个数 获取列名 。。。。可以在jdk中查找
结果集有多少列
int line = rs.getMetaData().getColumnCount();
ResultSetMetaData getMetaData()
获取此 ResultSet 对象的列的编号、类型和属性
for(int i = 1;i <= line;i++){
System.out.print(rs.getMetaData().getColumnName(i)+"\t\t");
}
System.out.println();
while(rs.next()){
for(int i = 1;i <= line;i++){
System.out.print(rs.getObject(i) + "\t\t");
}
System.out.println();
}
- 数据库连接
- 数据库连接
- 数据库连接
- 数据库连接
- 数据库连接
- 数据库连接
- 数据库连接
- 数据库连接
- 数据库连接
- 数据库连接
- 数据库连接
- 数据库连接
- 数据库连接
- 数据库连接
- 数据库连接
- 数据库连接
- 数据库连接
- 数据库连接
- 欢迎使用CSDN-markdown编辑器
- python字符串字串查找 find和index方法
- NODEJS项目打包成单个执行文件PKG
- 详解微信小程序 登录获取unionid
- 计数排序、基数排序和桶排序
- 数据库连接
- 5.多进程同步模型的daytime服务器
- 前端性能优化(CSS动画篇)
- oracle rac 关闭 步骤
- 常见的黑客技术
- 4种必须知道的Android屏幕自适应解决方案
- jsp ${${}} el表达式 嵌套
- Java Web 之文件上传与下载
- 简单的socket编程