jdbc 连接mysql时中的URL怎么写的

jdbc 连接mysql时中的URL怎么写的,第1张

String url="jdbc:mysql://localhost:3306/sample_dbuser=root&password=your_password";

例如:

import javasqlDriverManager;

import javasqlResultSet;

import javasqlSQLException;

import javasqlConnection;

import javasqlStatement;

 

 

public class MysqlDemo {

    public static void main(String[] args) throws Exception {

        Connection conn = null;

        String sql;

        // MySQL的JDBC URL编写方式:jdbc:mysql://主机名称:连接端口/数据库的名称参数=值

        // 避免中文乱码要指定useUnicode和characterEncoding

        // 执行数据库 *** 作之前要在数据库管理系统上创建一个数据库,名字自己定,

        // 下面语句之前就要先创建javademo数据库

        String url = "jdbc:mysql://localhost:3306/javademo"

                + "user=root&password=root&useUnicode=true&characterEncoding=UTF8";

 

        try {

            // 之所以要使用下面这条语句,是因为要使用MySQL的驱动,所以我们要把它驱动起来,

            // 可以通过ClassforName把它加载进去,也可以通过初始化来驱动起来,下面三种形式都可以

            ClassforName("commysqljdbcDriver");// 动态加载mysql驱动

            // or:

            // commysqljdbcDriver driver = new commysqljdbcDriver();

            // or:

            // new commysqljdbcDriver();

 

            Systemoutprintln("成功加载MySQL驱动程序");

            // 一个Connection代表一个数据库连接

            conn = DriverManagergetConnection(url);

            // Statement里面带有很多方法,比如executeUpdate可以实现插入,更新和删除等

            Statement stmt = conncreateStatement();

            sql = "create table student(NO char(20),name varchar(20),primary key(NO))";

            int result = stmtexecuteUpdate(sql);// executeUpdate语句会返回一个受影响的行数,如果返回-1就没有成功

            if (result != -1) {

                Systemoutprintln("创建数据表成功");

                sql = "insert into student(NO,name) values('2012001','陶伟基')";

                result = stmtexecuteUpdate(sql);

                sql = "insert into student(NO,name) values('2012002','周小俊')";

                result = stmtexecuteUpdate(sql);

                sql = "select  from student";

                ResultSet rs = stmtexecuteQuery(sql);// executeQuery会返回结果的集合,否则返回空值

                Systemoutprintln("学号\t姓名");

                while (rsnext()) {

                    Systemout

                            println(rsgetString(1) + "\t" + rsgetString(2));// 入如果返回的是int类型可以用getInt()

                }

            }

        } catch (SQLException e) {

            Systemoutprintln("MySQL *** 作错误");

            eprintStackTrace();

        } catch (Exception e) {

            eprintStackTrace();

        } finally {

            connclose();

        }

 

    }

 

}

请贴出相应页面的代码(就是请求user那部分的代码)

根据你贴出的代码,问题应该就出在你的a标签里的${pageContextrequestcontextPath}这里,你这里应该是没有获取到你的项目路径。如果实在定位不到为什么取不到项目路径,你可以使用二楼的方式,自己设定path。

Qt之界面数据存储与获取(userData)

向busybox中添加自己的applet

oracle内存分析

程序中实现两个DataTable的Left Join效果(修改了,网上第二个DataTable为空,所处的异常)

CompletionService 与 ExecutorService 获取任务执行结果时的区别

CompletionService 和ExecutorService的区别和用法

Java数据库开发

Python安装jpype调用java,安装jaydebeapi通过jdbc连接数据库

7 进行的数据补全和增强(随机亮度,随机饱和度,随机翻转) Imageopen(进行的读入) 2ImageEnhanceBrightness(亮度变化) 3ImageEnhanceContrast(饱和度变化) 4enhance_imagetranspose(随机翻转) 5enhance_imagesave(进行保存)

数据挖掘 Apriori Algorithm python实现

Thinkphp50 控制器向视图view赋值

oracle 查询 函数练习

Hibernate的批量查询——原生sql查询

二十二:视图之add_url_rule和approute

SQL语句创建数据库以及一些查询练习

Elasticsearch 使用:创建、插入、查询、更新、删除

模糊查询中Like的使用

mvc4中使用部分视图局部刷新实例

oracle(8)视图和查询数据库对象方法

leetcode877

bootstrap-table表格导出

servlet模板

[leetcode-609-Find Duplicate File in System]

SpringBoot 整合Mybatis *** 作数据库

python基础教程总结12——数据库

day37 02-Hibernate二级缓存:二级缓存的散装数据

Mysql进入数据库

WPF 视图导航

图形学思考 - 聊聊透视图投射矩阵perspective projective matrix

sql日期查询

ABAP-Eclipse ADT中创建ABAP CDS视图

技术小哥用手机实现激光笔,女友直呼:太酷了!

结婚登记人数创36年新低,结婚率下降原因是?

广告合作

发信联系

oracle(8)视图和查询数据库对象方法

扫码查看

视图

学习APP开发,接单挣钱!

视图 view

视图是数据库的对象之一。 视图也叫做虚表,既虚拟表,本质是对应一条select 语句,

select语句的结果集赋予一个名字就是视图的名字。

作用:

1可以简化复杂的查询

2可以限制数据的访问,对基表的其他数据起到安全和保密的作用。

创建一个 表 create table emp(

empno number(6), name char(10), id number(4), deptno number(10), job varchar2(10) );

创建视图:create view emp_v as

;创建视图时,create对应的表叫做基表。 查询视图select from emp_v ;根据查询所的方式可分为三种视图:1简单视图:根据单表建立的,且不包含任何函数运算,表达式和分组,既单表的子集。2复杂视图:根据单表建立,包含有单行函数/表达式/分组的视图。3连接视图:基于多表建立的视图。删除视图drop view emp_v;

简单视图可以进行DML *** 作,但是复杂视图不允许DML *** 作。

修改视图:视图的结构取决于对应的子查询,所以修改视图即替换对应

的子查询。REPLACE

CREATE OR REPLACE VIEW V_EMP_J

AS

SELECT EMPNO,ENAME,SAL

FROM EMP_XIAOJIE;

SELECT FROM V_EMP_J;

对视图的不当DML *** 作会污染基表数据:

对简单视图进行DML *** 作后,视图对基表做对应的 *** 作,但是影响的数据对应视图来说

是不可见的,就是对基表数据的污染。

为了避免视图对基表产生数据的污染。我们可以对视图添加检查选项要求(检查约束)

使其对视图进行DML时 *** 作时检查视图时 *** 作后是否对 *** 作的数据可见,如果不可见

则不允许 *** 作。

简单视图可以进行DML *** 作,但是复杂视图不允许DML *** 作。

视图本身是不包含数据的,只是基表的逻辑映射,所以

对视图执行DML *** 作时,实际上 *** 作的是基表。

对视图进行DML *** 作,实际上是对基表进行DML *** 作,

如果不去约束,我们对视图不可视进行DML *** 作会对

基表的数据产生污染。

对视图进行DML *** 作基本原则:

简单视图可以进行DML *** 作,但是有以下情况除外,

基表中定义了非空列,但是简单视图对应的 SELECT

语句没有包含这个非空列,导致非空列对于视图不可视,

这时无法对视图进行 INSERT *** 作。

复杂视图不允许DML *** 作

DML *** 作不能违反基表的约束条件。

创建具有 CHECK OPTION 的约束视图。

CREATE OR REPLACE VIEW V_EMP_J

AS

SELECT EMPNO,ENAME,SAL

FROM EMP_XIAOJIE

WHERE SAL<3000

WITH CHECK OPTION; --添加约束后无法对基表进行数据污染。

SELECT FROM V_EMP_J;

创建具有 READ ONLY 约束的视图。

对简单进行DML *** 作是合法的但是不安全,如果没有在视图进行DML

*** 作的必要的话,要在建立视图时声明只读来避免这种情况,包含

基表数据不会被非法的修改。

无法对只读视图执行DML *** 作。

CREATE OR REPLACE VIEW V_EMP_J

AS

SELECT EMPNO,ENAME,SAL

FROM EMP_XIAOJIE

WHERE SAL<3000

WITH READ ONLY;--用来只读

数据字典:

数据字典是一系列的表,这些表的数据由数据库自行维护,记录清单清单信息。

1在数据字典 user_objects 中查询所有视图:

SELECT object_name FROM user_objects

where object_type='VIEW';--查找所有视图

view:视图 table:表 sequence:序列 index:索引

2在数据字典 USER_VIEWS 查询所有的指定视图:

3在数据字典 user_updatable_columns 中查询视图:

SELECT COLUMN_NAME,INSERTABLE,UPDATABLE,DELETABLE --看 *** 作权限

FROM USER_UPDATABLE_COLUMNS

WHERE TABLE_NAME='V_EMP_J';

都有统一的格式的,如下:

Microsoft SQL Server JDBC Driver (一般用来连接 SQLServer 2000)

驱动程序包名:msbasejar mssqlserverjar msutiljar

驱动程序类名: commicrosoftjdbcsqlserverSQLServerDriver

JDBC URL: jdbc:microsoft:sqlserver://<server_name>:<port>

默认端口1433,如果服务器使用默认端口则port可以省略

Microsoft SQL Server 2005 JDBC Driver

驱动程序包名:sqljdbcjar

驱动程序类名: commicrosoftsqlserverjdbcSQLServerDriver

JDBC URL: jdbc:sqlserver://<server_name>:<port>

默认端口1433,如果服务器使用默认端口则port可以省略

Oracle

Oracle Thin JDBC Driver

驱动程序包名:ojdbc14jar

驱动程序类名: OraclejdbcdriverOracleDriver

JDBC URL:

jdbc:oracle:thin:@//<host>:<port>/ServiceName

jdbc:oracle:thin:@<host>:<port>:<SID>

数据库连接URL应该包含正确的编码,以便在发出请求时,指定数据库服务器和数据库系统。一般情况下,URL中会通过分号(;)来分隔不同的参数,并指定参数的编码字符集,如UTF-8、GBK等。

给你一个非缓存分页类的简单例子吧(Page类可以视作javabean):

/

@author Administrator

TODO 要更改此生成的类型注释的模板,请转至

窗口 - 首选项 - Java - 代码样式 - 代码模板

/

import javautil;

public class Pager {

private String PageUrl;

private boolean hasNext;

private boolean hasPrevious;

private String previousPage;

private String nextPage;

private int offset;

private int size;

private int length;

private int pagenumber;

public Pager(int offset,int length, int size, String url){

thisoffset=offset;

thislength=length;

thissize=size;

int index=urlindexOf("&pageroffset");

if (index>-1){

thisPageUrl=urlsubstring(0,index);

}else{

thisPageUrl=url;

}

}

public void setoffset(int offset){

thisoffset=offset;

}

public void setPagerUrl(String PagerUrl){

thisPageUrl=PagerUrl;

}

public void setsize(int size){

thissize=size;

}

public void setlength(int length){

thislength=length;

}

public int getoffset(){

return thisoffset;

}

public String getPageUrl(){

return thisPageUrl;

}

public boolean gethasNext(){

if((offset+1)length>=size){

hasNext=false;

}else{

hasNext=true;

}

return hasNext;

}

public boolean gethasPrevious(){

if(offset>=1){

thishasPrevious=true;

}else{

thishasPrevious=false;

}

return hasPrevious;

}

public String getpreviousPage(){

thispreviousPage="";

if (thisgethasPrevious()){

thispreviousPage=thisPageUrl+"&pageroffset="+(offset-1);

}

return previousPage;

}

public String getnextPage(){

thisnextPage="";

if(thisgethasNext()){

thisnextPage=thisPageUrl+"&pageroffset="+(offset+1);

}

return thisnextPage;

}

public int getpagenumber(){

float temppn=(float)size/(float)length;

pagenumber=new Float(temppn)intValue();

if (temppn>pagenumber){

thispagenumber++;

}

return thispagenumber;

}

public static ArrayList FindPageList(int offset,int length,List list){

ArrayList alist=new ArrayList();

for(int i=offsetlength; i<(offsetlength+length)&&i<listsize();i++){

alistadd(listget(i));

}

return alist;

}

}

具体使用:

1、在servlet初始化这个page

List list=DataUtilgetSpecifiedList();//得到整个数据列表

int offset=0;//便宜量

int length=10;//每页数据记录数

String pageOffset=requestgetParameter("pageroffset");

if(pageOffset==null||pageOffsetequals("")){

offset=0;

}else{

offset=IntegerparseInt(pageOffset);

}

String Url=requestgetRequestURL()toString()+""+requestgetQueryString();

Pager pager=new Pager(offset,length,listsize(),Url);

List RsList=PagerFindPageList(offset,length,list);

requestsetAttribute("Pager",pager);

requestsetAttribute("List",RsList);

RequestDispatcher dispatcher= requestgetRequestDispatcher("/UI/someModule/list_displayjsp");

dispatcherforward(request,response);

2、具体jsp中得到分页结果,并显示,并附页面跳转部分:

页面中得到分页结果

<%

List RpList=(List)requestgetAttribute("List");

Pager pager=(Pager)requestgetAttribute("Pager");

%>

<%--用for循环把RpList显示--%>

<!--页面跳转代码,这只是个形式,简化和改变方式的余地很大-->

<form name="pageForm"><%if(pagergethasPrevious()){%><a href="<%= pagergetpreviousPage()%>">prev</a>

<%}%>

<%if( pagergethasNext()){%><a href="<%=pagergetnextPage()%>">next</a><%}%><%if(pagergetpagenumber()>1) {%>第<select name="pager" onchange="windowlocation='<%=pagergetPageUrl()%>&pageroffset='+documentpageFormpagerselectedIndex;"><%for(int i=0;i<pagergetpagenumber();i++){%><option value=<%=i%> <%if(pagergetoffset()==i){ %>selected<%}%>><%=(i+1)%></option><%}%></select>页<%}%> 共<%=pagergetpagenumber()%>页</form>

ps:1、2两部分可以都放在页面类,不过你好像要MVC,所以给你这个代码。

以上就是关于jdbc 连接mysql时中的URL怎么写的全部的内容,包括:jdbc 连接mysql时中的URL怎么写的、本地运行javaweb项目,通过数据库获取url后,页面地址不出现localhost:8080,直接显示数据库获取的url.、oracle如何查询视图连接的数据库等相关内容解答,如果想了解更多相关内容,可以关注我们,你们的支持是我们更新的动力!

欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/sjk/9491539.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-04-28
下一篇 2023-04-28

发表评论

登录后才能评论

评论列表(0条)

保存