当前位置:首页 » 编程语言 » javamysql

javamysql

发布时间: 2022-02-05 04:47:34

A. mysqljava中的应用

Java连接Mysql详解
Part I: 驱动/数据源类名, URL语法, Connector/J的属性配置.假设你应经安装好了mysql, 和mysql-connector-java-X.X.X-bin.jar
Mysql Connector/J通过com.mysql.jdbc.Driver来实现java.sql.Driver, 同时类名org.gjt.mm.mysql.Driver依旧可用, 以保持向前兼容MM.Mysql.
MySQL的JDBC URL格式如下:
如果没有明确指定host(主机名), 默认为127.0.0.1, 端口号默认是3306
如果不指定数据库名, 不会有默认的数据库, 这样的话, 你可以调用Connection的setCatalog()方法, 或者在SQL中明确指定所用的数据库. 这种情况只在为多个数据库建立工具时有用. 例如建立GUI数据库管理器.
JDBC应该永远不使用USE database来指定数据库, 应该用Connection.setCatalog()方法.
MySQL Connector/J支持fail-over模式, 使用fail-over模式, 必须将connection的autoCommit设置为true.
如果URL的autoReconnect设置为false: Failover会发生在连接初始化时, failback出现在驱动器使第一个主机在此可用时.
如果URL的autoReconnect属性时true, Failover发生在驱动决定connection失败时(在每次查询之前), falls back到第一个主机, 当它决定这个主机在此可用时.
在以上提到的两种情况中, 无论何时你连接到一个"failed-over"服务器, 这个连接将会是制度的, 因此, 修改数据的查询, 将会引发异常.
Configuration properties定义Connctor/J将怎样连接到MySQL服务器. 除了特别声明, 这些属性可以设置在DataSource或Connection object中.
Configuration properties可以按照下面的方式进行设置:
①使用MysqlDataSource或MysqlConnectionPoolDataSource的set*()方法.
②以java.util.Properties的key/value对的形式传递给DriverManager.getConnection() 或Driver.connect()
③作为JDBC URL的参数传给java.sql.DriverManger.getConnection()
java.sql.Driver.connect()或MySQL实现的javax.sql.DataSource setURL() 方法.
注意: 如果你用来确定JDBC URL的机制是XML-based, 你需要使用XML字符 &来分隔参数.

B. 如何连接java和mysql数据库

当然,首先要安装有JDK(一般是JDK1.5.X)。然后安装MySQL,这些都比较简单,具体过程就不说了。配置好这两个环境后,下载JDBC驱动mysql-connector-java-5.0.5.zip(这个是最新版的)。然后将其解压缩到任一目录。我是解压到D盘,然后将其目录下的mysql-connector-java-5.0.5-bin.jar加到classpath里,具体如下:“我的电脑”-> “属性” -> “高级” -> “环境变量”,在系统变量那里编辑classpath,将D:\mysql-connector-java-5.0.5\mysql-connector-java-5.0.5-bin.jar加到最后,在加这个字符串前要加“;”,以与前一个classpath区分开。然后确定。
环境配置好了,很简单。现在,先配置MySQL,设其用户名为“root”,密码为“root”。在命令行或用一个SQL的前端软件创建Database。
我是用SQLyog的前端软件来创建Database的。
先创建数据库:
CREATE DATABASE SCUTCS;
接着,创建表:
CREATE TABLE STUDENT
(
SNO CHAR(7) NOT NULL,
SNAME VARCHAR(8) NOT NULL,
SEX CHAR(2) NOT NULL,
BDATE DATE NOT NULL,
HEIGHT DEC(5,2) DEFAULT 000.00,
PRIMARY KEY(SNO)
);
然后插入数据,可以用SQL语句insert into <表名> values (value1, value2, ...);
也可以用SQLyog来操作

好了,创建好了。
下面,我们来编写.java文件来演示一下如何访问MySQL数据库。
import java.sql.*;
public class JDBCTest {
public static void main(String[] args){
// 驱动程序名
String driver = "com.mysql.jdbc.Driver";
// URL指向要访问的数据库名scutcs
String url = "jdbc:mysql://127.0.0.1:3306/scutcs";
// MySQL配置时的用户名
String user = "root";

// MySQL配置时的密码
String password = "root";
try {
// 加载驱动程序
Class.forName(driver);
// 连续数据库
Connection conn = DriverManager.getConnection(url, user, password);
if(!conn.isClosed())
System.out.println("Succeeded connecting to the Database!");
// statement用来执行SQL语句
Statement statement = conn.createStatement();
// 要执行的SQL语句
String sql = "select * from student";
// 结果集
ResultSet rs = statement.executeQuery(sql);
System.out.println("-----------------");
System.out.println("执行结果如下所示:");
System.out.println("-----------------");
System.out.println(" 学号" + "\t" + " 姓名");
System.out.println("-----------------");
String name = null;
while(rs.next()) {

// 选择sname这列数据
name = rs.getString("sname");
/* 何问起 hovertree.com */
// 首先使用ISO-8859-1字符集将name解码为字节序列并将结果存储新的字节数组中。
// 然后使用GB2312字符集解码指定的字节数组
name = new String(name.getBytes("ISO-8859-1"),"GB2312");
// 输出结果
System.out.println(rs.getString("sno") + "\t" + name);
}
rs.close();

C. MySQL是Java的一部分吗

mysql 是数据库
java 是程序设计语言
不过mysql被oracle收购了
sun也被oracle收购了

MySql当然是需要单独安装的,它和java没有必然联系,是相互独立的

MySQL 与SQl可以说也是相互独立的。一个是DBMS,一个DML,类型就完全不一样

D. java和mysql

mysql版本影响不大吧,不过建议同时下载一个mysql可视化管理工具navicat
java连接mysql数据库需要一个名字为mysql-connector-java-5.1.7-bin的jar包,导入后,写下以下几句
Class.forName("com.mysql.jdbc.Driver");
DriverManager.getConnection("jdbc:mysql://localhost:3306/A?useUnicode=true&characterEncoding=utf8",B,C);
就可以连接数据库了,其中A为数据库名,B为你设置的用户名,C为你设置的密码

E. java控制MYSQL服务启动

1,首先把MySQL安装成windows的服务(使用net start mysql命令就可以启动MySQL了)
2,编写批处理文件
启动MySQL(mysql_start.bat)内容如下:
net start mysql
停止MySQL(mysql_stop.bat)
net stop mysql
3,在java里调用批处理文件RunTime.exec("mysql_start.bat / mysql_stop.bat");

思路是这样,呵呵,我也没尝试过哈。

F. java连接数据库

java连接数据库的代码 位于MVC中的M(模型层)中,主要负责与数据库打交道。
本人把我以前写的代码 加上注释 给你看看 希望对你有帮助。
public class UserInfoDAO {
//验证登陆名/密码sql语句
//private -----这个sql语句只在本类内部使用,没有必要public
//static -----sql语句仅仅一份就足够了
//final -----sql语句一般在运行时不变,final修饰的变量相当于常量
//常量名所有字母大写
private static final String SQL_CHECK_USERINFO =
"SELECT LOGINNAME,USERNAME,PASSWORD,AGE,ADDRESS FROM USERINFO WHERE LOGINNAME=? AND PASSWORD = ?";
public UserInfoDAO() {
}
/**
* 验证登陆名/密码方法
* @param u UserInfo
* @return boolean
*/
public boolean checkUser(UserInfo u) {
boolean b = false;//验证是否成功的标识
Connection conn = null;//数据库连接的引用
PreparedStatement pstmt = null;//PreparedStatement引用
ResultSet rs = null;//结果集引用
//调用ConnectionManager的方法,得到数据库里连接实例
conn = ConnectionManager.getConnection();
try {
//通过Connection的prepareStatement()方法构建PreparedStatement实例,参数为sql语句
pstmt = conn.prepareStatement(SQL_CHECK_USERINFO);

//为sql语句中的?赋值,注意序号从1开始
pstmt.setString(1, u.getLoginName());
pstmt.setString(2, u.getPassword());

//执行查询得到结果集
rs = pstmt.executeQuery();

//在结果集中循环,如果结果集中有记录意味着验证成功
b = rs.next();//标识置为true
while (rs.next()) {
b = true;//标识置为true
}
} catch (SQLException ex) {
System.out.println(ex.getMessage());
} finally {
//注意:一定在finally中释放数据库资源
cleanUP(rs, pstmt, conn);
}
return b;
}

private void cleanUP(ResultSet rs, PreparedStatement pstmt, Connection conn) {
try {
if (rs != null) {
rs.close();
}
if (pstmt != null) {
pstmt.close();
}
if (conn != null) {
conn.close();
}
} catch (SQLException ex) {
System.out.println(ex.getMessage());
}
}
}

G. 如何使用Java与Mysql进行数据交互

使用jdbc驱动 六个步骤

  1. 创建链接

  2. 加载驱动

  3. 获取示例

  4. 执行sql语句

  5. 获取结果集

  6. 关闭连接

    代码示例

  7. importjava.sql.Connection;importjava.sql.DriverManager;importjava.sql.PreparedStatement;importjava.sql.ResultSet;importjava.sql.SQLException;importjava.sql.Statement;publicclassDbDemo{

    publicstaticvoidmain(String[]args){//TODOAuto-generatedmethodstub
    ResultSetresult=null;
    Connectioncon=null;
    Statementstatement=null;try{//第0步:将mysql的jdbcjar包加入到引用库中来
    //第一步:将想要连接的数据库驱动类加载到JVM中来,加载过程中并向DriverManager注册Driver
    //成功加载后,会将Mysql的驱动Driver类的实例注册到DriverManager类中。
    //使得下面我们获取Connection只需要通过DriverManager就可以了。我不需要通过每个数据库具体的Driver。
    Class.forName("com.mysql.jdbc.Driver").newInstance();//第二步,通过DriverManager获取一个和mysql的连接实例con
    StringJDBCUrl="jdbc:mysql://localhost:3306/test?useUnicode=true&characterEncoding=utf-8";//
    StringuserName="root";
    Stringpassword="1557862201";//接受一个jdbcurl,username,password;
    con=DriverManager.getConnection(JDBCUrl,userName,password);//第三步:通过con连接获取到Statement实例,执行sql语句
    statement=con.createStatement();//statement实例是用于一些不带参数的sql执行,查询,更新,插入,删除操作都可以但是需要构建一个没有占位符的sql字符串
    //第四步,statement执行sql语句,查询到的结果集到ResultSet实例,简单查询,没有where语句的查询
    result=statement.executeQuery("select*fromstudent");//第五步:从结果集中获取数据
    while(result.next()){//根据test库中student表格列名读取数据
    intid=result.getInt("id");
    Stringname=result.getString("_stuName");
    Stringnumber=result.getString("_stuNumber");
    StringGrade=result.getString(result.findColumn("_stuGrade"));
    StringAddress=result.getString(result.findColumn("_stuAddress"));
    System.out
    .println("name="+name+"number="+number+"Grade="+Grade+"Address="+Address);
    }//插入语句
    //statement.executeUpdate("");
    insert(statement);//执行带参数的查询,有where语句的查询
    intid=2;
    executeQuery(con,id);//执行更新操作
    updateDate(con,2);
    delete(con,"XX");//删除数据行
    }catch(ClassNotFoundExceptione){//TODOAuto-generatedcatchblock
    System.out.println("找不到驱动程序类,加载驱动失败!");
    e.printStackTrace();
    }catch(InstantiationExceptione){//TODOAuto-generatedcatchblock
    e.printStackTrace();
    }catch(IllegalAccessExceptione){//TODOAuto-generatedcatchblock
    e.printStackTrace();
    }catch(SQLExceptionex){//TODOAuto-generatedcatchblock
    System.out.println("SQLException:"+ex.getMessage());
    System.out.println("SQLState:"+ex.getSQLState());
    System.out.println("VendorError:"+ex.getErrorCode());
    ex.printStackTrace();
    }finally{//第六步:释放资源
    /**
    *关闭JDBC对象操作完成以后要把所有使用的JDBC对象全都关闭,以释放JDBC资源,关闭顺序和声明顺序相反:1、关闭记录集
    *2、关闭声明3、关闭连接对象
    */
    if(result!=null){//关闭结果集
    try{
    result.close();
    }catch(SQLExceptione){//TODOAuto-generatedcatchblock
    e.printStackTrace();
    }
    result=null;
    }if(statement!=null){//关闭执行sql语句代码块
    try{
    statement.close();
    }catch(SQLExceptione){//TODOAuto-generatedcatchblock
    e.printStackTrace();
    }
    statement=null;

    }if(con!=null){//关闭连接
    try{
    con.close();
    }catch(SQLExceptione){//TODOAuto-generatedcatchblock
    e.printStackTrace();
    }
    con=null;
    }
    }
    }

H. java,mysql相关问题

我感觉你的B表那不是四个字段啊,是一个name字段中有四个值。楼主我觉得你的问题提的挺乱的。没看明白你具体啥意思。揣测一下,给你几个结果:
如果你想用a 表字段直接关联b表:
select A.* ,B.name from a A inner join b B on A.字段名= B.主键 where (加a的条件或b的条件)
如果你说的b中有四个字段,而你每次想用不同的字段来查询,那就这样:
select A.* ,B.name from a A inner join b B on A.字段名= B.主键
where 1=1
<isNotEmpty prepend=" and " property="字段1参数名">字段1名字 = #参数1#</isNotEmpty >
<isNotEmpty prepend=" and " property="字段2参数名">字段2名字 = #参数2#</isNotEmpty >
<isNotEmpty prepend=" and " property="字段3参数名">字段3名字 = #参数3#</isNotEmpty >
<isNotEmpty prepend=" and " property="字段4参数名">字段4名字 = #参数4#</isNotEmpty >
你想用哪个字段就传哪个进来

I. Java连接数据库

Connection conn = null;
Class.forName("oracle.jdbc.driver.OracleDriver");//加入oracle的驱动,“”里面是驱动的路径

String url = "jdbc:oracle:thin:@MyDbComputerNameOrIP:1521:ORCL";// 数据库连接,oracle代表链接的是oracle数据库;thin:@MyDbComputerNameOrIP代表的是数据库所在的IP地址(可以保留thin:);1521代表链接数据库的端口号;ORCL代表的是数据库名称

String UserName = "root";// 数据库用户登陆名 ( 也有说是 schema 名字的 )

String Password = "2006";// 密码

conn = DriverManager.getConnection(url, UserName, Password);

热点内容
王者周年福利密码是什么 发布:2025-01-04 16:30:37 浏览:32
联通北方服务器上不去怎么回事 发布:2025-01-04 16:28:42 浏览:974
开源服务器云存储多少钱 发布:2025-01-04 16:10:45 浏览:662
我的世界泥土商店服务器8月 发布:2025-01-04 15:58:40 浏览:822
怎么在电脑上重启机房服务器 发布:2025-01-04 15:40:02 浏览:869
摄影后期电脑配置i5怎么样 发布:2025-01-04 15:39:19 浏览:403
linux桥接设置 发布:2025-01-04 15:39:07 浏览:59
安卓屏幕怎么设置成老人用的 发布:2025-01-04 15:33:53 浏览:316
学电脑编程要多久 发布:2025-01-04 15:20:15 浏览:333
华为手机存储卡插哪 发布:2025-01-04 15:01:02 浏览:39