精华内容
下载资源
问答
  • java获取数据库信息

    千次阅读 2019-05-26 11:15:33
    备用: package com.ren.test; import org.junit.Test; import java.sql.*; public class GetInfo { //获取数据库连接 public static Connection getConnection() { Connection conn = null; ...

    备用:

    package com.ren.test;
    
    import org.junit.Test;
    
    import java.sql.*;
    
    public class GetInfo {
        //获取数据库连接
        public  static  Connection  getConnection()  {
            Connection  conn  =  null;
            try  {
                Class.forName("com.mysql.jdbc.Driver");
                String  url  =  "jdbc:mysql://localhost:3306/databasename?useSSL=false";
                String  user  =  "root";
                String  pass  =  "****";
                conn  =  DriverManager.getConnection(url,  user,  pass);
            }
    		  catch  (ClassNotFoundException  e)  {
                e.printStackTrace();
            }
    		  catch  (SQLException  e)  {
                e.printStackTrace();
            }
            return  conn;
        }
    
        /**
         * 获取数据库信息
         */
        @Test
        public void getDatebaseInfo() {
            Connection con = getConnection();
            DatabaseMetaData dbMetaData = null;
            try {
                dbMetaData = con.getMetaData();
                System.out.println(dbMetaData.getDriverName());
                System.out.println(dbMetaData.getURL());
                System.out.println(dbMetaData.getUserName());
                System.out.println("");
            } catch (SQLException e) {
                e.printStackTrace();
            }
        }
    
        /**
         * 获取某数据库所有表信息
         */
        @Test
        public void getTablesInfo() throws SQLException {
            Connection  conn  =  getConnection();
            DatabaseMetaData dbMetaData = conn.getMetaData();
            ResultSet rs = dbMetaData.getTables(null, null, null, new String[] { "TABLE" });
            int i = 0;
            while (rs.next()) {
    //            i++;
    //            if(i==10) {
    //                break;
    //            }
                System.out.println("表名:" + rs.getString("TABLE_NAME"));
                System.out.println("表类型:" + rs.getString("TABLE_TYPE"));
                System.out.println("表所属数据库:" + rs.getString("TABLE_CAT"));
                System.out.println("表备注:" + rs.getString("REMARKS"));
                //tables.add(rs.getString("TABLE_NAME"));
            }
        }
    
        /**
         * 获取某某表的字段信息
         */
        @Test
        public void getTableColumnInfo() throws SQLException {
            Connection  conn  =  getConnection();
            String  sql  =  "select  *  from  file";
            PreparedStatement  stmt;
            try  {
                stmt  =  conn.prepareStatement(sql);
                ResultSet  rs  =  stmt.executeQuery(sql);
                ResultSetMetaData  data  =  rs.getMetaData();
                for  (int  i  =  1; i  <=  data.getColumnCount(); i++)  {
                    //  获得所有列的数目及实际列数
                    int  columnCount  =  data.getColumnCount();
                    //  获得指定列的列名
                    String  columnName  =  data.getColumnName(i);
                    //  获得指定列的数据类型名
                    String  columnTypeName  =  data.getColumnTypeName(i);
                    //  对应数据类型的类
                    String  columnClassName  =  data.getColumnClassName(i);
                    //  在数据库中类型的最大字符个数
                    int  columnDisplaySize  =  data.getColumnDisplaySize(i);
                    //  某列类型的精确度(类型的长度)
                    int  precision  =  data.getPrecision(i);
                    //  小数点后的位数
                    int  scale  =  data.getScale(i);
                    //  获取某列对应的表名
                    String  tableName  =  data.getTableName(i);
                    //  是否自动递增
                    Boolean  isAutoInctement  =  data.isAutoIncrement(i);
                    //  是否为空
                    int  isNullable  =  data.isNullable(i);
                    System.out.println(columnCount);
                    System.out.println("获得列"  +  i  +  "的字段名称:"  +  columnName);
                    System.out.println("获得列"  +  i  +  "的数据类型名:"  +  columnTypeName);
                    System.out.println("获得列"  +  i  +  "对应数据类型的类:"+  columnClassName);
                    System.out.println("获得列"  +  i  +  "在数据库中类型的最大字符个数:"+  columnDisplaySize);
                    System.out.println("获得列"  +  i  +  "类型的精确度(类型的长度):"  +  precision);
                    System.out.println("获得列"  +  i  +  "小数点后的位数:"  +  scale);
                    System.out.println("获得列"  +  i  +  "对应的表名:"  +  tableName);
                    System.out.println("获得列"  +  i  +  "是否自动递增:"  +  isAutoInctement);
                    System.out.println("获得列"  +  i  +  "是否为空:"  +  isNullable);
                }
            }
            catch  (SQLException  e)  {
                e.printStackTrace();
            }
        }
    
        /**
         * 获取某表数据及信息
         * @param args
         */
        public  static  void  main(String[]  args)  {
            Connection  conn  =  getConnection();
            String  sql  =  "select  *  from  user";
            PreparedStatement  stmt;
            try  {
                stmt  =  conn.prepareStatement(sql);
                ResultSet  rs  =  stmt.executeQuery(sql);
                ResultSetMetaData  data  =  rs.getMetaData();
                for  (int  i  =  1; i  <=  data.getColumnCount(); i++)  {
                    //  获得所有列的数目及实际列数
    				int  columnCount  =  data.getColumnCount();
                    //  获得指定列的列名
                    String  columnName  =  data.getColumnName(i);
                    //  获得指定列的列值
    				int  columnType  =  data.getColumnType(i);
                    //  获得指定列的数据类型名
                    String  columnTypeName  =  data.getColumnTypeName(i);
                    //  所在的Catalog名字
                    String  catalogName  =  data.getCatalogName(i);
                    //  对应数据类型的类
                    String  columnClassName  =  data.getColumnClassName(i);
                    //  在数据库中类型的最大字符个数
    				int  columnDisplaySize  =  data.getColumnDisplaySize(i);
                    //  默认的列的标题
                    String  columnLabel  =  data.getColumnLabel(i);
                    //  获得列的模式
                    String  schemaName  =  data.getSchemaName(i);
                    //  某列类型的精确度(类型的长度)
    				int  precision  =  data.getPrecision(i);
                    //  小数点后的位数
    				int  scale  =  data.getScale(i);
                    //  获取某列对应的表名
                    String  tableName  =  data.getTableName(i);
                    //  是否自动递增
                    Boolean  isAutoInctement  =  data.isAutoIncrement(i);
                    //  在数据库中是否为货币型
                    Boolean  isCurrency  =  data.isCurrency(i);
                    //  是否为空
    				int  isNullable  =  data.isNullable(i);
                    //  是否为只读
                    Boolean  isReadOnly  =  data.isReadOnly(i);
                    //  能否出现在where中
                    Boolean  isSearchable  =  data.isSearchable(i);
                    System.out.println(columnCount);
                    System.out.println("获得列"  +  i  +  "的字段名称:"  +  columnName);
                    System.out.println("获得列"  +  i  +  "的类型,返回SqlType中的编号:"+  columnType);
                    System.out.println("获得列"  +  i  +  "的数据类型名:"  +  columnTypeName);
                    System.out.println("获得列"  +  i  +  "所在的Catalog名字:"+  catalogName);
                    System.out.println("获得列"  +  i  +  "对应数据类型的类:"+  columnClassName);
                    System.out.println("获得列"  +  i  +  "在数据库中类型的最大字符个数:"+  columnDisplaySize);
                    System.out.println("获得列"  +  i  +  "的默认的列的标题:"  +  columnLabel);
                    System.out.println("获得列"  +  i  +  "的模式:"  +  schemaName);
                    System.out.println("获得列"  +  i  +  "类型的精确度(类型的长度):"  +  precision);
                    System.out.println("获得列"  +  i  +  "小数点后的位数:"  +  scale);
                    System.out.println("获得列"  +  i  +  "对应的表名:"  +  tableName);
                    System.out.println("获得列"  +  i  +  "是否自动递增:"  +  isAutoInctement);
                    System.out.println("获得列"  +  i  +  "在数据库中是否为货币型:"  +  isCurrency);
                    System.out.println("获得列"  +  i  +  "是否为空:"  +  isNullable);
                    System.out.println("获得列"  +  i  +  "是否为只读:"  +  isReadOnly);
                    System.out.println("获得列"  +  i  +  "能否出现在where中:"+  isSearchable);
                }
            }
    		  catch  (SQLException  e)  {
                e.printStackTrace();
            }
        }
    }
    

     

    展开全文
  • 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 statement=...

    查询代码如下:

    import java.sql.Connection;
    import java.sql.DriverManager;
    import java.sql.ResultSet;
    import java.sql.SQLException;
    import java.sql.Statement;
    
    Connection connection=null;
    Statement statement=null;
    ResultSet resultSet=null;
    	try {
    		Class.forName("com.mysql.jdbc.Driver");
    		connection=DriverManager.getConnection("jdbc:mysql://127.0.0.1:3306/test","root","root");
    	
    	statement=connection.createStatement();
    	String sql="select * from user_info";	//发出查询指令
    
    	resultSet=statement.executeQuery(sql);//执行语句后得到的结果很多,存到定义的集合中,再用循环输出。
    	while(resultSet.next()) {	//相当于迭代器循环。判断是否存在,当存在时调用getString();方法得到值。
    		String id=resultSet.getString("id");
    		String userName=resultSet.getString("user_name");
    		String password=resultSet.getString("password");
    		System.out.println(id+":"+userName+":"+password);
    	}
    } catch (Exception e) {
    	e.printStackTrace();
    }finally {	//释放资源:首先关闭循环,再关闭窗口,最后关闭连接。
    	
    	try {
    		if(resultSet!=null) {
    			resultSet.close();
    		}
    	} catch (SQLException e) {
    		e.printStackTrace();
    	}
    	
    	try {
    		if(statement!=null) {
    			statement.close();
    		}
    	} catch (SQLException e) {
    		e.printStackTrace();
    	}
    	
    	try {
    		if(connection!=null) {
    			connection.close();
    		}
    	} catch (SQLException e) {
    		e.printStackTrace();
    	}
    }
    

    finally中语句不能写成如下代码:因为resultSet.close();出现异常,终止下边同级代码的执行,将不会再执行关闭窗口和关闭连接的代码。

    finally {
    	try {
    		if(resultSet!=null){
    			resultSet.close();
    			if (statement!=null) {
    				statement.close();
    				if (connection!=null) {
    					connection.close();
    				}
    	} catch (SQLException e) {
    	e.printStackTrace();
    	}
    }
    
    展开全文
  • 《手把手实现Java图书管理系统》带你从0开始完成毕业设计!附赠源码、文档、数据库脚本等全部资料
  • JAVA实现数据库中信息的添加

    千次阅读 2019-04-28 21:38:37
    i++) { //向数据库中添加50行数据。 String id=UUID.randomUUID().toString(); System.out.println(id); //UUID产生的id。 String sql="insert into user_info (id,user_name,password) values('"+id+...
    	//00,提升变量作用范围
    	Connection connection=null;
    	Statement statement=null;
    	try {
    		Class.forName("com.mysql.jdbc.Driver");
    		connection=DriverManager.getConnection("jdbc:mysql://127.0.0.1:3306/test","root","root");	//jdbc类似于http,mysql是数据库管理系统,127.0.0.1是本机IP,3306是端口号,test是数据库,第一个root是用户名,第二个root密码。
    		statement=connection.createStatement();
    		for(int i=0;i<50;i++) {	//向数据库中添加50行数据。
    			String id=UUID.randomUUID().toString();
    			System.out.println(id);		//UUID产生的id。
    			
    			String sql="insert into user_info (id,user_name,password) values('"+id+"','"+i+"','"+i+"')";		//'"+id+"'中单引号是因为id,user_name,password要插入的是char类型的数,双引号是开口?,加号是连接。定义出添加指令
    			int affect=statement.executeUpdate(sql);	//在statement窗口调用executeUpdate(sql);方法执行指令,返回一个受影响的行数,因为每循环一次,执行一次,每次受影响的都是1行。
    			System.out.println(sql);	
    			System.out.println(affect);
    		}
    	} catch (Exception e) {
    		e.printStackTrace();
    	}finally {	//6,释放资源过程:先关掉窗口,再关掉连接,一般顺序不能改变
    		try {
    			if(statement!=null) {,	//02,加if是防止出现空指针异常,如果Class.forName("com.mysql.jdbc.Driver");此语句出现非检查时错误,try中的其他语句会终止执行。不加if时statement一定为null,会执行关闭资源的语句,因为根本没有启动所以会出错。加if后出现null不执行语句,不会关闭。
    				statement.close(); //01,单独的此语句会出错,需要捕捉异常
    			}
    		} catch (SQLException e) {
    			e.printStackTrace();
    		}
    		
    		try {
    			if(connection!=null) {
    			connection.close();
    			}
    		} catch (SQLException e) {
    			e.printStackTrace();
    		}
    	}
    

    说明:

    executeUpdate()用于执行update,insert,delete语句,返回一个整数,整数代表此次操作所影响的表		的行数。
    // 插入语句
     String sql = "insert into use_info (id,user_name,password) values ('id','user_name','password')";
    // 修改语句
    String sql = "update student set name='名字',address='地址',mobile='手机号' where id='11'";
    //删除语句
    	String sql = "delete from student where id='id'";
    不同的sql语句执行不同的操作。
    

    finally中的语句不能写成下边的形式:因为如果出现statement异常,connection连接将不会关闭

    finally {
    		try {
    		if (statement!=null) {
    			statement.close();
    		}
    		if (connection!=null) {
    			connection.close();
    		}
    	} catch (SQLException e) {
    		e.printStackTrace();
    	}
    }
    
    展开全文
  • Java面试Offer直通车

    万人学习 2019-12-18 15:19:52
    3、通过学习这门课程,你能系统掌握Java核心、数据库Java框架、分布式组件、Java简历准备、面试实战技巧等面试必考知识点。 4、知识点+项目经验案例,每一个都能做为面试的作品展现。 5、本课程已经在线下的培训...
  • java数据库中Date类型的处理

    千次阅读 2020-08-11 20:26:18
    java数据库中Date类型的处理 想必在日常的敲代码生活总,用java操作数据库中的Date类型是不同于其他的,因为Date在导包的时候就分为 import java.sql.Date; import java.util.Date 这两种情况,他们也是互相不...

    java对数据库中Date类型的处理

    想必在日常的敲代码生活总,用java操作数据库中的Date类型是不同于其他的,因为Date在导包的时候就分为

    import java.sql.Date;
    
    import java.util.Date
    

    这两种情况,他们也是互相不互通的的两个东西,需要绕一点弯才可以互相转化,下面来说我所知道的一个方法:

    util转sql(java的Date存入数据库的Date)

    1将输入的字符串类型转为Date
    import java.util.Date
    Date date = new Date("1990-02-04");
    
    2将Date转为时间戳
    long time = date.getTime();
    
    3将时间戳为符合sql的Date类型
    import java.sql.Date;
    //经过这个操作以后,这个sqlDate就是可以直接存入数据库得日期类型了
    Date sqlDate = new Date(time);
    //比如如下代码片段
    			String sql = "insert into user values (?,?)";
    			statement = connection.prepareStatement(sql);
    			statement.setInt(1, user.getId());
    			//这里重点
    			statement.setDate(2, sqlDate);
    			//执行sql语句
    			executeUpdate = statement.executeUpdate();
    

    另外几种想法

    用Date.valueof方法,能够最最少步骤得将字符串类型转为Date类型,都不用SimpleDateFormat就行,不过得注意:
    java.sql.Date.valueOf(String s)的s格式必须为YYYY-MM-DD格式

    import java.sql.Date;
    //如果直接是字符串的话可以直接用valueof
    String string = "1990-02-04";
    Date sqlDate1 = Date.valueOf(string);
    //如果是Date类型的话先转为字符串类型,
    //比如Date date = new Date("1990-02-04");
    Date sqlDate2 = Date.valueOf(date .toString())

    本菜鸡是新手,欢迎各位大佬指点。

    展开全文
  • getColumns的返回也是将所有的字段放到一个类似的内存的表,而COLUMN_NAME就是字段的名字,TYPE_NAME就是数据类型,比如"int","int unsigned"等等,COLUMN_SIZE返回整数,就是字段的长度,比如定义的int(8)的字段...
  • MySQL数据库从入门到实战课

    万人学习 2019-12-31 14:09:39
    【课程设计】 在本课程,刘运强老师会结合自己十多年来对MySQL的心得体会,通过课程给你分享一条高效的MySQL入门捷径,让学员少走弯路,彻底搞懂MySQL。 本课程包含3大模块:  一、基础篇: 主要以最新的...
  • Java删除数据库中的数据

    千次阅读 2016-10-23 10:19:00
    1:删除数据库中数据表中的数据同样也是一个非常...2:本案例使用Statement接口中的executeUpdate()方法,删除数据库中users表中id为1的用户信息 1 package com.ningmeng; 2 3 import java.sql.*; 4 /*...
  • 分为三类用户角色学生用户:修改个人信息、课程查询、选课、退课、成绩查询、打印成绩单查询、奖惩信息 教师用户:修改个人信息查看所授课程信息、...用的java+MySQL数据库,cs架构。附带设计报告,建表合理规范。
  • Java应用--显示数据库中信息

    千次阅读 2016-05-29 23:38:49
    上篇文章介绍了用java语言如何来获取SQL数据库中信息,那么这次我们就来把这些信息通过java提供的组件给显示出来吧!! 以下是代码部分: /*  *完成mini版本学会管理系统   */ package com.Test1;...
  • java多个数据库实现数据同步

    热门讨论 2015-03-16 21:54:59
    内部java实现多个数据库,保持数据同步案例。
  • java利用jdbc连接数据库之删除数据库中的数据准备工作: java利用jdbc连接mysql数据库准备知识目的: java利用jdbc连接数据库之删除数据库中的数据 1:代码package cn_java_connection_mysql;import java.sql....
  • java 获取数据库信息,为什么中文字段读出为null,其他字段为数字都读出来了 ``` JdbcUtil jdbcUtil = null; try{ jdbcUtil = new JdbcUtil(); //获取数据库连接 jdbcUtil.getConnection...
  • Mysql数据库基础入门视频教程

    万人学习 2018-10-24 16:59:26
    SQL阶段你将学会如果使用数据定义语言DDL,数据操作语言DML,数据查询语言DQL 在学会各中查询语句之后,会带你学习数据的完整性, 掌握如果正确的向数据库中添加数据 以上掌握技能之后,将会带你学习如何进行多表操作,...
  • 1. 在数据库中建立表 CREATE TABLE `user` ( `id` int(11) NOT NULL AUTO_INCREMENT, `username` varchar(255) CHARACTER SET utf8 COLLATE utf8_general_ci NULL DEFAULT NULL, `password` varchar(255) ...
  • Java如何获取数据库中的数据·案例

    万次阅读 多人点赞 2017-09-24 23:06:57
    Java如何获取数据库中的数据·案例 步骤简介: 加载驱动: 加载jdbc的驱动类Class.forName("com.mysql.jdbc.Driver")到jvm中。   建立连接: 使用DriverManager.getConnection(sql_url,username,pwd)方法...
  • 以前有小伙伴在公众号留言问过如何通过java获取数据库所有表、及表里字段的信息,只是私信回复过。在最近的项目架构部提出了一个数据源的配置需求,就是需要配置公司所有系统...
  • 本课程是一门具有很强实践性质的“项目实战”课程,即“企业台系统实战”,其中主要包含三大块核心内容,如下图所示(右键可以在新标签页打开图片放大查看): 即主要包含以下三大块内容: ① 企业内部应用系统...
  • 基于JAVA和SQL SERVER数据库实现的酒店管理系统

    万次阅读 多人点赞 2019-01-03 08:53:00
    适用于小型宾馆使用及访问,旨在用计算机系统为操作人员提供更方便的操作,并保持很高的灵活性和易操作性,该软件具备以下特点:易学易用,操作简便,它是基于Java的应用程序,操作界面友好直观功能完善,本系统...
  • java实现数据库同步

    千次阅读 2019-07-19 08:48:49
    之前也有用过数据库的同步中间件比如阿里的canal,最近突发奇想,自己使用Java进行不同数据库品牌的数据库同步,比如Oracle同步到MySQL,等等; 正文 ...
  • JAVA数据库中拿到数据

    千次阅读 2016-12-07 15:33:53
    我们都知道从数据库中拿到数据需要使用的是jdbc链接数据,然后将数据存储到ResultSet这样的集合中,然后利用Resultset的方法getObject获取里面的记录并且打印到页面上,当然我们可以将数据存在map中或者是list中,...
  • Java数据库中存储时间

    千次阅读 2019-01-05 17:09:14
    首先解释一下,数据库中的时间类型分为很多种,这里只是简单介绍date与datetime 主要的区别就是: ①date:MySQL 以 'YYYY-MM-DD' 格式检索与显示date值; ②datetime:MySQL 以 'YYYY-MM-DD HH:mm:ss'格式检索与...
  • 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代码向数据库中添加数据有四步:第一步加载驱动,第二步连接数据库,第三步创建PrepareStatement对象,第四步关闭资源 //下面是增加的方法 public void insert_data(){ //第一步加载驱动 try { Class.for...
  • 这里介绍两种从数据库总读取数据生成菜单树的算法: ...实例的重要字段:  二、算法1:递归算法 public List&lt;ProductType&gt; treeData() { // 方案一:通过递归的方式来获得菜单 retur...
  • java连接数据库步骤

    万次阅读 多人点赞 2019-03-17 19:51:08
    Class.forname(数据库驱动名); 2.建立数据库连接 使用DriverManager类的getConnection()静态方法来获取数据库连接对象,其语法格式如下所示: Connection conn=DriverManager.getConnection(String url,String ...
  • java学生信息管理系统(GUI+mysql数据库)

    千次阅读 多人点赞 2021-02-08 18:48:42
    java学生信息管理系统+GUI界面布局+数据库 先上图: 数据库信息: 本人使用的是MySQL5.7版本的数据库 数据库端口号为:3306 数据库连接名是:root 数据库用户名是:root 数据库名称是:mydatabase 建立的表是...

空空如也

空空如也

1 2 3 4 5 ... 20
收藏数 1,822,264
精华内容 728,905
关键字:

java查看数据库中所有信息

java 订阅