jdbc概述
Java数据库连接,提供了一种与平台无关的用于执行SQL语句的标准javaAPI,
可以方便实现多种关系型数据库的统一操作
MySQl数据库
常用命令
创建数据库:create database 数据库名称 ;
删除数据库:drop database 数据库名称 ;
使用数据库:use 数据库名称 ;
创建数据库表:create table 表名( 字段名称1 字段类型[default 默认值] [约束], ...) ;
删除数据库表:drop table 表名 ;
查看表结构: desc 表名称 ;
查看全部数据库:show databases ;
查看一个数据库全部表: show tables ;
JDBC操作步奏
连接数据库
URL: 访问数据库的地址:写法: jdbc:mysql://数据库所在Ip地址:数据库端口/数据库的名字
name : 要连接的数据库的账户名
password : 要连接数据库的用户密码
//mysql连接
final String DRIVER = "com.mysql.jdbc.Driver";
final String URL = "jdbc:mysql://127.0.0.1:3306/luo?useUnicode=true&characterEncoding=UTF-8";
final String USER = "root";
final String PWD = "root";
获取连接
//加载驱动,加载类(静态)
Class.forName(DRIVER);
//获取连接 接口=接口的实现类
Connection con= DriverManager.getConnection(URL,USER,PWD);
设置sql语句
String sql="SELECT * from usertypeinfo where typeId=? and typeName=? ";
发送sql语句到数据库中
PreparedStatement preparedStatement = con.prepareStatement(sql);
preparedStatement.setString(1,name);
preparedStatement.setString(2,pwd);
执行查询语句
ResultSet resultSet = preparedStatement.executeQuery();
执行增删改的语句
ResultSet resultSet = preparedStatement.executeUpdate();
提取执行结果 遍历
while(resultSet.next()){ //判断表中是否有有数据 类似迭代器
System.out.println(resultSet.getInt("orderid")+" " //输出其中的内容
+resultSet.getInt("***")+" "
+resultSet.getString("*****")
);
}
关闭连接池
con.close();
使用德鲁伊连接池
1.下载jar包
2.将jar文件添加到classpath中
3.添加配置文件druid
(1)创建数据源对象
DruidDataSource ds = new DruidDataSource();
(2)设置属性
ds.setUrl(URL);
ds.setUsername(USER);
ds.setPassword(PWD);
ds.setDriverClassName(DRIVER);
(3) 创建QueryRunner对象
QueryRunner qr = new QueryRunner(ds);
4.定义sql语句;
5.1增删改
qr.update(sql,参数。。) 返回的是int类型 判断>0则证明代码执行成功
5.2 查询
runner.query(sql,查询返回的集合方法,参数。。。)
(1)BeanListHandler将查询结果的每一行封装到Bean对象,然后再存入List集合
(2)BeanHandler将查询结果的第一行数据,封装到Bean对象
(3)MapListHandler将查询结果的每一行封装到map集合(key=列名,value=列值),再将map集合存入List集合
(4)MapHandler 将查询结果的第一行数据封装到map结合(key=列名,value=列值)
(5) ArrayListHandler 将查询的结果,每一行先封装到Object数组中,然后将数据存入List集合
(6)ArrayHandler:将查询结果的第一行数据,保存到Object数组中
(7)ScalarHandler 封装结果为单行单列的结果,类似count、avg、max、min、sum......函数
(8)ColumnListHandler 将查询结果的指定列的数据封装到List集合中