怎么在java中操作mysql数据库 java里面怎么调用mysql的存储过程的
怎么在java中操作mysql数据库
1.安装好jre环境和和jdk,设置好环境变量,很基础,网上教程很多;
2.安装mysql数据库,不用设置数据源和环境变量,只是安装好就可以,具体过程见网上教程,有时候不好安装,可能是因为之前安装没有卸载干净等原因,多查一查怎么弄,多试一试就成功了;
3.为了方便操作数据库,为mysql安装一个可视化界面Navicat,安装过程超级简单,使用也超级简单,傻瓜操作;
4.怎么连接java和mysql呢,这个搞了好久,网上下载一个压缩包mysql-connector-java-5.0.8.zip,解压,将其中的mysql-connector-java-5.0.8-bin.jar文件复制一份粘贴在C:Program
FilesJavajre7libext目录下,也就是放在jrelibext下就行;
5.接下来还要设置一次环境变量,第4步中的压缩包解压后,将解压后文件中mysql-connector-java-5.0.8-bin.jar添加到环境变量classpath中;
java里面怎么调用mysql的存储过程的
首先MySQL的test数据库里定义了一个student表:
create table student4(
id int primary key,
sanme char(5)
)
插入几个数据做测试用:
inset into student values(1,mayi)
inset into student values(2,mayi)
inset into student values(3,mayi)
建立存储过程:
in 型:
delimiter //
create procedure demo_in(in p_in int)
begin
select p_in
set p_in=2
select p_in
end
//
delimiter
Java测试代码:
CallableStatement callstatement = conn.prepareCall("call demo_in(?)")//conn,数据库连接
callstatement.setInt(1, 1)//设置第一个参数
callstatement.execute()//执行
conn.close()//关闭连接
out型:
delimiter //
create procedure demo_out(out s int)
begin
select count(*) into s from student
end
//
delimiter
java测试代码:
CallableStatement callstatement = conn.prepareCall("call demo_out(?)")
callstatement.registerOutParameter(1, java.sql.Types.INTEGER)//注册存储过程的out型参数类型;使用之前必须注册;
callstatement.execute()//执行
System.out.println(callstatement.getInt(1))//获得存储过程的输出参数
conn.close()//关闭连接
总结: 先在数据库中建立存储过程,然后获得数据库连接conn后,生成CallableStatement对象,执行相应的操作。
java怎么连接mysql
下面代码是使用jdbc直接链接mysql的操作,链接方式与SQL SERVER类似,区别在于加载的驱动不同,url的设置也有点区别,用户名、密码、端口号这些设置都类似
执行脚本返回的结果,可以看出java成功链接上mysql并获取到返回值
mysql-connector-java-5.1.26-bin.jar是java链接mysql使用的jar包,与SQL SERVER链接也有专门的jar包,jar包中包含了java链接mysql所用到的函数驱动等等,所有的jar包都是放到web工程lib目录下
如果工程是整合在ssh下,一般情况下都会有一个properties文件,该文件配置了数据库链接常用的命令,下图是mysql中的配置
使用spring框架下进行的测试,结果可以成功执行,其实无论是sql server还是mysql还是其他的数据库,基本功能都一样,只是语法结构有所区别,java在调用的过程中大部分功能只要切换了数据库链接命令就可以公用,如果系统架构设计的足够好,当我们切换数据库的时候,应用程序是不用调整就能兼容的
java怎么调用mysql数据库连接
package wb 
import java.sql.Connection 
import java.sql.DriverManager 
import java.sql.PreparedStatement 
import java.sql.SQLException 
import java.util.Random 
public class Connect { 
    String DBDRIVER="com.mysql.jdbc.Driver" 
    String DBURL="jdbc:mysql://localhost:3306/test" 
    String DBUSER="root" 
    String DBPWD="1995nian" 
    Connection conn=null 
    public Connect(){ 
        try { 
            Class.forName(DBDRIVER) 
            conn=DriverManager.getConnection(DBURL,DBUSER,DBPWD) 
            //System.out.println("数据库连接成功") 
        } catch (ClassNotFoundException e) { 
            // TODO: handle exception 
            e.printStackTrace() 
        } catch (SQLException e) { 
            // TODO: handle exception 
            e.printStackTrace() 
        } 
    } 
    public Connection getCon(){ 
        return conn 
    } 
    public void doSql(double x,double y){ 
        Connection connection=new Connect().getCon() 
        try { 
            String sql="insert into tmp values(?,?)" 
            PreparedStatement ps=connection.prepareStatement(sql) 
            ps.setDouble(1, x) 
            ps.setDouble(2, y) 
            ps.execute() 
            ps.close() 
            connection.close() 
        } catch (Exception e) { 
            // TODO: handle exception 
        } 
    } 
    public void closeCon(){ 
        try{ 
            conn.close() 
        }catch(SQLException e){ 
            e.printStackTrace() 
        } 
    } 
    public static void main(String[] args){ 
        Connect connect=new Connect() 
        Connection connection=connect.getCon() 
        //String sql="insert into tmp values(30,50)" 
        connect.doSql(30, 50) 
    } 
}这是样板,项目还要引入mysql的数据库驱动
用java怎么连MYSQL数据库
//用户名
private String user = ""
//密码
private String password = ""
//主机
private String host = ""
//数据库名字
private String database = ""
/*
private String url="jdbc:mysql://" host "/" "useUnicode=true&characterEncoding=GB2312"
*/
private String url =""
private Connection con = null
Statement stmt
/**
* 根据主机、数据库名称、数据库用户名、数据库用户密码取得连接。
* @param host String
* @param database String
* @param user String
* @param password String
*/
public DBManager(String host, String database, String user, String password) {
this.host = host
this.database = database
this.user = user
this.password = password
//显示中文
this.url = "jdbc:mysql://" host "/" database
"?useUnicode=true&characterEncoding=GB2312"
try {
Class.forName("org.gjt.mm.mysql.Driver")
}
catch (ClassNotFoundException e) {
System.err.println("class not found:" e.getMessage())
}
try {
con = DriverManager.getConnection(this.url, this.user, this.password)
//连接类型为ResultSet.TYPE_SCROLL_INSENSITIVE, ResultSet.CONCUR_READ_ONLY
stmt = con.createStatement(ResultSet.TYPE_SCROLL_INSENSITIVE,
ResultSet.CONCUR_READ_ONLY)
}
catch (SQLException a) {
System.err.println("sql exception:" a.getMessage())
}
}
/**
* 返回取得的连接
*/
public Connection getCon() {
return con
}
/**
* 执行一条简单的查询语句
* 返回取得的结果集
*/
public ResultSet executeQuery(String sql) {
ResultSet rs = null
try {
rs = stmt.executeQuery(sql)
}
catch (SQLException e) {
e.printStackTrace()
}
return rs
}
/**
* 执行一条简单的更新语句
* 执行成功则返回true
*/
public boolean executeUpdate(String sql) {
boolean v = false
try {
v = stmt.executeUpdate(sql) > 0 ? true : false
}
catch (SQLException e) {
e.printStackTrace()
}
finally {
return v
}
}
}
能用的,你可以扩充,比如增加执行预编译语句的方法、执行存储过程的方法,也可以用连接池的方法。