重庆分公司,新征程启航
为企业提供网站建设、域名注册、服务器等服务
package basic;
创新互联主营南宫网站建设的网络公司,主营网站建设方案,重庆APP开发公司,南宫h5小程序制作搭建,南宫网站营销推广欢迎南宫等地区企业咨询
import java.sql.Connection;
import java.sql.DriverManager;
import java.sql.PreparedStatement;
import java.sql.ResultSet;
import java.sql.SQLException;
import java.sql.Statement;
public class JDBC {
public void findAll() {
try {
// 获得数据库驱动
//由于长时间不写,驱动名和URL都忘记了,不知道对不对,你应该知道的,自己改一下的哈
String url = "jdbc:oracle:thin:@localhost:1521:XE";
String userName = "system";
String password = "system";
Class.forName("oracle.jdbc.driver.OracleDriver");
// 创建连接
Connection conn = DriverManager.getConnection(url, userName,
password);
// 新建发送sql语句的对象
Statement st = conn.createStatement();
// 执行sql
String sql = "select * from users";
ResultSet rs = st.executeQuery(sql);
// 处理结果
while(rs.next()){
//这个地方就是给你的封装类属性赋值
System.out.println("UserName:"+rs.getString(0));
}
// 关闭连接
rs.close();
st.close();
conn.close();
} catch (ClassNotFoundException e) {
// TODO Auto-generated catch block
e.printStackTrace();
} catch (SQLException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
}
public void delete(){
try {
//步骤还是那六个步骤,前边的两步是一样的
String url = "jdbc:oracle:thin:@localhost:1521:XE";
String userName = "system";
String password = "system";
Class.forName("oracle.jdbc.driver.OracleDriver");
Connection conn = DriverManager.getConnection(url,userName,password);
//这里的发送sql语句的对象是PreparedStatement,成为预处理sql对象,因为按条件删除是需要不定值的
String sql = "delete from users where id = ?";
PreparedStatement ps = conn.prepareStatement(sql);
ps.setInt(0, 1);
int row = ps.executeUpdate();
if(row!=0){
System.out.println("删除成功!");
}
// 关闭连接
rs.close();
st.close();
conn.close();
} catch (ClassNotFoundException e) {
// TODO Auto-generated catch block
e.printStackTrace();
} catch (SQLException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
}
}
我只写了查询和删除,添加、修改和删除非常之像,这是因为查询对数据库没有改动,而增删改都对数据库进行了修改,所以这三个非常像……呵呵,你自己看着办吧
方法很简单
SQL.ADD(select FEILEI from dbconfig group by FEILEI)
SQL.OPEN()
WHILE(NOT EOF)
{
SQL2.ADD(SELECT * FROM dbconfig WHERE FEILEI =FIELDBYNAME("FEILEI "))
WHILE(NOT EOF)
{
......//显示数据
}
}
以上是实现功能的方式 具体代码和语法自己写吧,两层循环嵌套就OK
需要到Eclipse来实现。
1、首先我们使用数据库连接工具HeiDiSQL来连接本机的mysql数据库,
2、使用该工具创建一个test数据库,
3、在该数据库中创建一张student表,该表中有id、name和age字段,我们同时给数据库添加数据,如下图所示。
4、我们创建一个Student类,并为该类分别创建id、name和age属性,并用private修饰符进行限定。接下来我们为这些属性创建getter和setter方法,如下图所示。
5、我们创建一个数据库连接类,用于配置数据库连接的属性,如数据库的驱动、URL、用户名和密码。
6、我们创建完数据库的连接后,使用getConnection()方法获取连接,
7、使用close()方法关闭连接。我们在使用mysql时需要添加smysql驱动的jar包。
8、接下来我们创建MVC模式中的数据持久化层,首先我们创建一个TestDao接口,用于定义获取数据的方法。
9、接下来我们创建TestDaoImpl实现类,并且实现TestDao接口,重写该接口中的方法,如下图所示。
10、我们将数据以集合的形式返回,此时需要创建TestSverlet类进行业务逻辑处理。我们首先创建一个构造方法,并在构造方法中获取数据库的连接。
11、我们创建的TestServlet类继承了HttpServlet类,并重写了父类的doGet()方法,我们在该方法中创建TestDaoImpl的对象,并调用getAllStudent()方法进行数据的查询,并将查询的结果放入到request的属性中,同时使用RequestDispatcher将请求转发到student.jsp。
12、我们创建一个student.jsp的文件,在该文件中使用EL表达式和JSTL标签来获取request范围的属性数据,即上一步骤的查询结果。
13、最后我们需要在web.xml文件中配置该Servlet的请求路径等信息,如下图所示。
14、以上步骤完成后我们使用Tomcat启动该项目,按照请求路径访问便可在页面表格中获取到数据库的查询结果。
DBUtils用的最多的莫过于其结果集的处理,毕竟仅仅得到一个ResultSets是没有。而结果集的处理正是依赖于ResultSetHandler 接口及其实现类。 以下内容,我们着重分析该接口及其实现类的源码并给出使用方法。
ArrayHandler
ArrayListHandler
BeanHandler
BeanListHandler
MapHandler
MapListHandler
用的不是特别多但是 业务中会有涉及的需要知晓
ColumnListHandler
ScalarHandler
KeyedHandler