连接数据库的两种方式
:使用jdbc的驱动连接数据库
import java.sql.Connection;
import java.sql.DriverManager;
import java.sql.ResultSet;
import java.sql.Statement;
import java.util.ArrayList;
import java.util.List;
public class dao
{
public static void main(String[] args) throws Exception {
Class.forName("com.mysql.jdbc.Driver");
String url="jdbc:mysql:///jdbc";
Connection conn= DriverManager.getConnection(url,"root","123456");
String sql="select * from jdbc";
Statement stmt=conn.createStatement();
// int cont=stmt.executeUpdate(sql);
//System.out.println(cont);
ResultSet rs=stmt.executeQuery(sql);
List<Acount> list= new ArrayList<>();
while (rs.next()) {
Acount account=new Acount();
int id=rs.getInt(1);
String name=rs.getString(2);
double money=rs.getDouble(3);
account.setId(id);
account.setName(name);
account.setCount(money);
list.add(account);
// System.out.println(id);
// System.out.println(name);
// System.out.println(money);
// System.out.println("---------------");
}
System.out.println(list);
}
}
2 使用国产的开源德鲁伊Durid连接
标准接口DateSource
1.先导入jar包,并选择add as libraries
2,。定义配置文件
3.加载配置文件
4.获取连接池对象
//prop对象是 资源对象,其中有配置信息
Properties prop=new Properties();
//将配置信息导入给prop
prop.load(new FileInputStream("src/durid.properties"));
//获取连接池对象
DataSource datesource=DruidDataSourceFactory.createDataSource(prop);
//获取数据库连接Connection
Connection conn=datesource.getConnection();
Properties prop=new Properties();
prop.load(new FileInputStream("JDBC/src/druid.properties"));
DataSource dataSource =DruidDataSourceFactory.createDataSource(prop);
Connection conn =dataSource.getConnection();
// 查询整个数据库使用executeQuery()
// 定义SQL
String sql="select * from tb_brand;";
//获取pstmt对象
PreparedStatement pstmt=conn.prepareStatement(sql);
//设置参数
//执行sql
ResultSet rs= pstmt.executeQuery();
//处理结果
while(rs.next())
{
//获取数据
int id =rs.getInt("id");
String brandname=rs.getString("brand_name");
String companyName=rs.getString("company_name");
int ordered =rs.getInt("ordered");
String description=rs.getString("description");
int status =rs.getInt("status");
//获取Brand
brand bra=new brand();
bra.setId(id);
bra.setCompanyName(companyName);
bra.setBrandName(brandname);
bra.setDescription(description);
bra.setStatus(status);
//装载集合
brands.add(bra);
}
//增删改数据库使用executeUpdate()
//定义SQL
String sql="insert into tb_brand(brand_name,company_name,ordered,description,status) values(?,?,?,?,?);";
//获取pstmt对象
PreparedStatement pstmt=conn.prepareStatement(sql);
//设置参数
pstmt.setString(1,brandName)
//执行sql
int count=pstmt.executeUpdate();//影响的行数
//处理结果
在配置文件druid.properties中,需要配置文字解析,否则导入数据库后会出现中文乱码
简单的例子
public void study() throws Exception {
//创建配置信息
Properties prop=new Properties();
prop.load(new FileInputStream("src/druid.properties"));
//获取数据库对象
DataSource dataSource=DruidDataSourceFactory.createDataSource(prop);
//获取连接对象
Connection conn=dataSource.getConnection();
//脚本信息
String sql="insert into tb_brand(brand_name,company_name,ordered,description,status) values(?,?,?,?,?)";
//
PreparedStatement pstmt=conn.prepareStatement(sql);
//参数信息
pstmt.setString(1,"你猜是什么牌子");
pstmt.setString(2,"这是个好公司");
pstmt.setInt(3,9);
pstmt.setString(4,"猜不告诉你");
pstmt.setInt(5,10);
//最后执行数据库脚本
int count=pstmt.executeUpdate();
System.out.println(count);
}