精华内容
下载资源
问答
  • Java中操作数据库查询数据

    万次阅读 2019-06-08 12:23:11
    Java操作数据库查询数据的大概流程: 1)创建数据库连接(这里用的是MySQL数据库) private static String driver = "com.mysql.jdbc.Driver"; String url = "jdbc:mysql://localhost:3306/test"; //数据源(mysql)的...

    Java操作数据库查询数据的大概流程:
    1)创建数据库连接(这里用的是MySQL数据库)

    private static String driver =  "com.mysql.jdbc.Driver";
    String url = "jdbc:mysql://localhost:3306/test";	//数据源(mysql)的连接地址
    String user = "root";	//用户名
    String password = "root";	//用户密码
    static{
    try {
    //加载驱动
    	    Class.forName(driver);
    } catch (ClassNotFoundException e) {
    // TODO Auto-generated catch block
    e.printStackTrace();
    }
    }
    //获取连接
    public static Connection getConnection() throws SQLException{
    	return DriverManager.getConnection(url, user, password);
    }
    //关闭资源
    public static void close(Connection con,PreparedStatement ps,ResultSet rs){
    	try {
    		if(con !=null){
    			con.close();
    		}
    		if(ps !=null){
    			ps.close();
    		}
    		if(rs !=null){
    			rs.close();
    		}
    	} catch (SQLException e) {
    		// TODO Auto-generated catch block
    		e.printStackTrace();
    	}
    }
    

    2)在servlet中查询出数据然后传到页面中(在查询前先设置一下编码格式)

    public void insertServlet (HttpServletRequest request,HttpServletResponse response)throws ServletException,IOException{
    //设置请求编码格式
    request.setCharacterEncoding("utf-8");
    //设置响应编码格式
    response.setContentType("text/json;charset=utf-8");
    //定义SQL语句,页面获取那些数据就声明修改那些字段
    String selectSQL = "select * from asset where UserID = ?";
    try {
    //获取一开始就创建好的数据库连接
    Connection con = ConnectionDatabaseUtil.getConnection();
    //创建一个 PreparedStatement 对象来将参数化的 SQL 语句发送到数据库。
    PreparedStatement ps = con.prepareStatement(selectSQL);
    //给占位符赋值
    ps.setString(1, 1);
    //执行SQL语句
    ps.executeUpdate()
    String name = null;
    String password = null;
    	    ResultSet rs = ps.executeQuery();
            while(rs.next()){
    			name  = rs.getInt("UserName");
    			password  = rs.getInt("UserPassword");
    		}
            request.setAttribute("name", name);
            request.setAttribute("password", password);
            request.getRequestDispatcher("这里接收数据的页面路径").forward(request, response);
    } catch (SQLException e) {
    	  // TODO Auto-generated catch block
    	  e.printStackTrace();
    }finally{
    //关闭资源
    	  ConnectionDatabaseUtil.close(con, ps, rs);
    }	
    }
    
    1. 接收servlet数据的页面

    在这里插入图片描述

    代码如下:

    <div class="span-style">
    	<span>账户:<i>${name}</i></span>
    </div>
    <div class="span-style">
    	<span>密码:<i>${password}</i></span>
    </div>
    

    增删查改格式基本都是这样的,唯一不同的就是SQL语句了。

    展开全文
  • Java中使用JDBC连接数据库

    万次阅读 多人点赞 2019-01-23 17:02:38
    Java中使用JDBC连接数据库 加载驱动 创建数据库连接 创建执行sql的语句 执行语句 处理执行结果 释放资源 源代码附上: package com.demo.test; import java.sql.Connection; import java.sql....

    Java中使用JDBC连接数据库

    1. 加载驱动

    2. 创建数据库连接

    3. 创建执行sql的语句

    4. 执行语句

    5. 处理执行结果

    6. 释放资源

    源代码附上:

    package com.demo.test;
    
    import java.sql.Connection;
    import java.sql.DriverManager;
    import java.sql.PreparedStatement;
    import java.sql.ResultSet;
    import java.sql.SQLException;
    import java.sql.Statement;
    
    /**
     * Java中使用JDBC连接数据库 
     *  1) 加载驱动 2) 创建数据库连接
     *  3) 创建执行sql的语句 4) 执行语句 5) 处理执行结果 6) 释放资源 
     * @author liu.hb
     *
     */
    public class DBHelper {
    	/**
    	 * Statement 和 PreparedStatement之间的关系和区别.
    	    关系:PreparedStatement继承自Statement,都是接口
    	    区别:PreparedStatement可以使用占位符,是预编译的,批处理比Statement效率高  
    	 */
    	public static void conn() {
    		String URL = "jdbc:mysql://127.0.0.1:3306/Supermarket?characterEncoding=utf-8";
    		String USER = "root";
    		String PASSWORD = "123";
    		// 1.加载驱动程序
    		try {
    			Class.forName("com.mysql.jdbc.Driver");
    			// 2.获得数据库链接
    			Connection conn = DriverManager.getConnection(URL, USER, PASSWORD);
    			// 3.通过数据库的连接操作数据库,实现增删改查(使用Statement类)
    			String name="张三";
    			//预编译
    			String sql="select * from userinfo where UserName=?";
    			PreparedStatement statement = conn.prepareStatement(sql);
    			statement.setString(1, name);
    			ResultSet rs = statement.executeQuery();
    //			String sql="select * from userinfo where UserName='"+name+"'";
    //			Statement statement = conn.createStatement();			
    //			ResultSet rs = statement.executeQuery(sql);
    			// 4.处理数据库的返回结果(使用ResultSet类)
    			while (rs.next()) {
    				System.out.println(rs.getString("UserName") + " " + rs.getString("Password"));
    			}
    
    		// 关闭资源【多谢指正】
    		rs.close();
    		statement.close();	
    		conn.close();					
    	} catch (ClassNotFoundException e) {			
    		e.printStackTrace();
    	}catch (SQLException e) {			
    		e.printStackTrace();
    	}		
    	}
    
    
    
    public static void main(String[] args) {
    	conn();
    }
    

    }

    展开全文
  • 当系统初始化好后,容器被创建,容器会申请一些连接对象,当用户来访问数据库时,从容器获取连接对象,用户访问完之后,会将连接对象归还给容器。 步骤: 1. 需要的依赖,导入jar包 c3p0-0.9.5.2.jar mchange-...

    数据库连接池的概念:

    其实就是一个容器(集合),存放数据库连接的容器。
    当系统初始化好后,容器被创建,容器中会申请一些连接对象,当用户来访问数据库时,从容器中获取连接对象,用户访问完之后,会将连接对象归还给容器。

    步骤:

    1. 需要的依赖,导入jar包

    c3p0-0.9.5.2.jar
    mchange-commons-java-0.2.12.jar
    mysql-connector-java-5.1.47.jar

    2.在类路径下建立c3p0-config.xml

    它是数据库连接池的配置文件,内容如下

    <?xml version="1.0" encoding="UTF-8"?>
    <c3p0-config>
        <!-- 默认配置,如果没有指定则使用这个配置 -->
        <default-config>
            <property name="user">root</property>
            <property name="password">123456</property>
            <property name="jdbcUrl">jdbc:mysql:///blog?useSSL=false</property>
            <property name="driverClass">com.mysql.jdbc.Driver</property>
            <!--  当连接池用完时客户端调用getConnection()后等待获取新连接的时间,超时后将抛出SQLException,如设为0则无限期等待。单位毫秒。-->
            <property name="checkoutTimeout">30000</property>
            <!--  每个几秒检查所有连接池中的空闲连接-->
            <property name="idleConnectionTestPeriod">30</property>
            <!-- 初始化数据库连接池时连接的数量 -->
            <property name="initialPoolSize">3</property>
            <!-- 接的最大空闲时间,如果超过这个时间,某个数据库连接还没有被使用,则会断开掉这个连接如果为0,则永远不会断开连接-->
            <property name="maxIdleTime">30</property>
            <!-- 数据库连接池中的最大的数据库连接数 -->
            <property name="maxPoolSize">100</property>
            <!-- 数据库连接池中的最小的数据库连接数 -->
            <property name="minPoolSize">2</property>
            <!-- JDBC的标准参数,用以控制数据源内加载d的PreparedStatements数量-->
            <property name="maxStatements">200</property>
        </default-config>
    </c3p0-config>
    

    编写代码

    使用数据库连接池,除了获取数据库连接与之前不一样,其他操作没什么区别

    public class Main {
        public static void main(String[] args) throws SQLException {
            ComboPooledDataSource comboPooledDataSource = new ComboPooledDataSource();
            Connection connection = comboPooledDataSource.getConnection();
            String sql = "select * from blog.user";
            Statement stmt = connection.createStatement();
            ResultSet resultSet = stmt.executeQuery(sql);
            List<User> list = new ArrayList<User>();
            while (resultSet.next()) {
                int id = resultSet.getInt("id");
                String username = resultSet.getString("username");
                String password = resultSet.getString("password");
                list.add(new User(id, username, password));
            }
            for (User user : list) {
                System.out.println(user);
            }
            stmt.close();
            connection.close();
        }
    }
    class User {
        private Integer id;
        private String username;
        private String password;
    
        public User(Integer id, String username, String password) {
            this.id = id;
            this.username = username;
            this.password = password;
        }
    
        @Override
        public String toString() {
            return "User{" +
                    "id=" + id +
                    ", username='" + username + '\'' +
                    ", password='" + password + '\'' +
                    '}';
        }
    }
    
    展开全文
  • jdbc.properties,url没有指定数据编码格式。 jdbc.url=jdbc:mysql://localhost:3306/shiro?useUnicode=true&amp;characterEncoding=utf8 这样就可以了,最简单的地方,结果没有注意到,浪费好几个小时。...

    这个,我已经排查了项目中代码的原因,最后发现是配置编码格式的问题。

    在jdbc.properties中,url没有指定数据编码格式。

    jdbc.url=jdbc:mysql://localhost:3306/shiro?useUnicode=true&characterEncoding=utf8
    这样就可以了,最简单的地方,结果没有注意到,浪费好几个小时。

    展开全文
  • 最近写一个JavaWeb项目的时候遇到了一个问题就是,同样的sql语句在数据库中可以查询出结果,但是程序中确无法查询出结果,今天给大家带来解决方案 如图所示,这是我navicat中测试好的sql语句,但是这里查询...
  • java中数据库事务怎么写 哪里commit 又哪里rollback
  • Java中数据库模糊查询写法

    千次阅读 2018-07-24 12:56:27
    1. xml拼接 (1)SELECT * FROM tableName WHERE name like concat('%',#{param},'%'); (2) SELECT * FROM tableName WHERE name like '%'||#{param}||'%'; 2. 使用 ${...} 代替 #{...} SELECT * FR.....
  • 1.首先点击电脑的开始,找到SQL Server 配置管理器,将SQL Server网络配置中的SQLEXPRESS... 2.新建一个数据库mydata,在数据库中建立一个表,并插入数据 --学生表 create table student( sno char(8) PRIM...
  • Java JDBC连接数据库 查询SELECT

    千次阅读 2018-07-21 14:30:13
    import java.sql.*; public class jdbctest { public static void main(String[] args) throws SQLException, ClassNotFoundException { Class.forName("com.mysql.jdbc.Driver"); Strin...
  • 在JAVA中从数据库中取的值,用表格显示,两个例子,初学者可以参考!
  • import java.sql.ResultSet; import java.sql.ResultSetMetaData; import java.util.Date; import net.sf.json.JSONArray; import net.sf.json.JSONObject; public class JsonUtil
  • 怎么Jtable中显示从数据库中查询到的结果集,用什么方法,新手请教
  • 使用java+Mysql数据库做一个简单的登录窗口界面

    万次阅读 多人点赞 2017-10-26 20:36:53
    最近做项目的时候,对java连接到数据库小有体会,特此来写一篇博客给大家讲解在java中如何连接使用数据库。来展示下效果图: 首先,我们来编写关于数据库里的数据操作,包括基本的增删查改以及增加的...
  • NetBeans IDE 中使用Java DB数据库

    千次阅读 2011-08-01 16:52:33
    本文档介绍如何 NetBeans IDE 中快速建立与 Sun 的 Java DB(该数据库基于 Apache Derby 数据库)的连接。建立连接后,您可以...中使用这个数据库,可以创建表、用数据填充表、运行 SQL 查询等等。  Java
  • 学习在Java中使用嵌入式数据库Derby

    千次阅读 2005-12-21 21:23:00
    数据库做为数据持久化存储的重要手段怎么强度都不过分,但传统的数据库都比较庞大,需要安装配置等,对于一些比较轻量级的应用来说有点象杀鸡用牛刀一样.Derby做为一个开源的、纯Java数据库引起了越来越多的关注,它...
  • 急求帮助!在Java语言中,如何把数据库中查询到的多条数据读出来。。。。。。。。。。。。
  • JAVA实现数据库中信息的查询

    千次阅读 2019-09-03 20:07:11
    查询代码如下: import java.sql.Connection; import java.sql.DriverManager; import java.sql.ResultSet; import java.sql.SQLException; import java.sql.Statement; Connection connection=null; Statement ...
  • java中测试数据库是否连接

    千次阅读 2019-07-14 10:30:44
    import java.sql.*; /** * 测试连接数据库是否成功 * @author 明 * */ public class JdbcTest{ public static void main(String args[]) { String driverName="com.microsoft.sqlserver.jdbc.SQLServerDr...
  • java 操作mysql】java连接mysql数据库查询数据

    万次阅读 多人点赞 2017-12-24 11:03:55
    java开发不可避免要处理数据库,所以这里写篇用jdbc来连接mysql的文章, 主要内容包括: 1、java连接mysql 2、java查询mysql数据。 3、java插入mysql数据。 4、java更新mysql数据。 5、java删除mysql数据。 6、...
  • java中查询数据库并以表格形式显示

    万次阅读 2005-08-03 10:35:00
    /* * 查询数据库,通过传递进来的SQL查询语句从数据库中检索信息,并以相应格式显示 */import java.sql.*;import java.util.*;import javax.swing.*;import javax.swing.table.*;import view.QueryDBView;public ...
  • Java使用Derby数据库

    万次阅读 2015-08-15 21:48:09
    JAVA连接derby数据的环境配置和操作要点
  • 频繁的创建和销毁数据库连接即消耗系统资源又使得程序效率低下,这种情况下,出现了使用数据库连接池的方法,类似于线程池,初期创建一定数量的连接供应用程序使用,当使用完成后将其归还给连接池而不是销毁,这样...
  • java中向mysql数据库插入当前时间,现在已经成功向mysql插入其他数据,但是不知道怎么插入当前时间,大神给解释一下
  • Java】如何用Java实现数据库查询

    万次阅读 2017-11-17 17:39:06
    首先要创建需要查询的文件你的文件里。记住路径,需要用文件流来找到这个文件,我的文本创建如下: import java.io.*; import java.util.*; public class DAO { //通过学生姓名找到学生学号 private String ...
  • java递归查询数据库数据

    千次阅读 2018-03-22 14:52:55
    查询第一层的数据,然后调用递归循环第一层的数据,查询父Id等于第一层的Id,执行完成后第一层一下的所有数据就全部查询出来了。。。public List&lt;Information&gt; getTreeList(Integer topId) { ...
  • 想要和数据库进行连接,首先需要导进mysql的jar包,这样才能使用jdbc的方法 导进jar包 1:新建一个project 项目,右键--configure--convert to maven project 成功导进mysql 的jar 包 可以使用了...
  • JAVA 项目中使用 H2 数据库

    万次阅读 2018-06-08 15:43:00
    为什么要使用H2数据库H2数据库是可以嵌入到JAVA项目的,因为只需要导入一个jar包即可,所以非常的方便。项目导入H2将H2的jar包放到classpath里即可,我是用的maven,maven的配置如下 &lt;dependency&gt;...
  • Java Web开发中使用Mysql数据库

    千次阅读 2017-03-14 15:47:42
    在数据库中建好需要使用数据库以及表。 第二步 将数据库连接jar包导入到工程文件。Eclipse是导入到WebContent/WEB-INF/lib下,MyEclipse是导入到Webroot/WEB-INF/lib下。我用的是mysql-connector-java-5.1.6-...
  • 自学Java也已快有一个月了,虽然本人从事的是FPGA开发的工作,但是对于软件开发兴趣盎然,没办法只能工作之余自己慢慢自学了,这应该是我的第一篇Java学习文章,希望以后自己能够坚持,记录一些学习过程,做一些...

空空如也

空空如也

1 2 3 4 5 ... 20
收藏数 1,754,948
精华内容 701,979
关键字:

在java中使用数据库查询

java 订阅