本文目录一览:
- 1、如何配置java环境变量以及myeclipse连接数据库mysql
- 2、java 中如何把从mysql数据库中获取得一个数值赋给 java代码中的一个变量 比较详细的代码
- 3、浅谈MySQL存储过程中declare和set定义变量的区别
- 4、我想把java中的局部变量的返回值返回出来
如何配置java环境变量以及myeclipse连接数据库mysql
配置java环境变量步骤:
下载安装JDK,默认安装即可
计算机→属性→高级系统设置→高级→环境变量
系统变量→新建 JAVA_HOME 变量 。
变量值填写jdk的安装目录(是 E:\Java\jdk1.7.0)
系统变量→寻找 Path 变量→编辑
在变量值最后输入 %JAVA_HOME%\bin;%JAVA_HOME%\jre\bin;
系统变量→新建 CLASSPATH 变量
变量值填写 .;%JAVA_HOME%\lib;%JAVA_HOME%\lib\tools.jar(注意最前面有一点)
系统变量配置完毕
myeclipse连接数据库mysql:
从官网下载mysql包并解压,解压后选择复制
在工程中右键粘贴
在mysql包上右键选择Build pat---Add to Build path
下图看到引入成功
新建一个Java类
在类文件中写连接代码
代码中右键选择run As--Junit Test
在控制台如果弹出以下信息,表明数据库连接成功
java 中如何把从mysql数据库中获取得一个数值赋给 java代码中的一个变量 比较详细的代码
这有点笼统了,要看你从mysql中获取的数值是什么类型的了.
1:创建实体.写一个类,最好是有意义的,和你从mysql中获取的数值有业务逻辑的类;
在这个类中定义一个和你从mysql中获取的数值类型一致的属性,
给这个属性添加get() 和set() 方法;
2:从mysql中获取数值,new一个先前创建的类的实例.然后调用set() 方法,把值赋给该实例的属性;
浅谈MySQL存储过程中declare和set定义变量的区别
在存储过程中常看到declare定义的变量和@set定义的变量。简单的来说,declare定义的类似是局部变量,@set定义的类似全局变量。
1、declare定义的变量类似java类中的局部变量,仅在类中生效。即只在存储过程中的begin和end之间生效。
2、@set定义的变量,叫做会话变量,也叫用户定义变量,在整个会话中都起作用(比如某个应用的一个连接过程中),即这个变量可以在被调用的存储过程或者代码之间共享数据。如何理解呢?可以看下面这个简单例子,很好理解。
(1)先执行下面脚本,创建一个存储过程,分别有declare形式的变量和@set形式的变量
DROP PROCEDURE IF EXISTS temp;
DELIMITER //CREATE PROCEDURE temp()BEGIN
DECLARE a INT DEFAULT 1; SET a=a+1; SET @b=@b+1; SELECT a,@b;END//DELIMITER ;
(2)接着为b变量初始化。
SET @b=1;
(3)然后重复调用这个存储过程。
CALL temp();
(4)会发现a的值不改变,而b的值会一直增加。
所以,总结起来就是开头那句话,declare定义的类似是局部变量,@set定义的类似全局变量。
我想把java中的局部变量的返回值返回出来
package com.test;
import java.sql.Connection;
import java.sql.DriverManager;
import java.sql.ResultSet;
import java.sql.SQLException;
import java.sql.Statement;
import java.util.List;
public class conmysql {
// 加个静态的返回值字段
private ListString recost;
public ListString getRecost() {
return recost;
}
public void setRecost(ListString recost) {
conmysql.recost = recost;
}
public void consql(String s,String col){
String cost;
recost = new ArrayListString();
try {
Class.forName("com.mysql.jdbc.Driver");
} catch (ClassNotFoundException e1) {
e1.printStackTrace();
}
//链接数据库
try {
Connection con=DriverManager.getConnection("jdbc:mysql://192.168.1.250:3306/shop","fmrom","fmrom");
if(!con.isClosed()){
Statement st=con.createStatement();
ResultSet rs=st.executeQuery(s);
while(rs.next()){
cost = rs.getString(col);
// 将cost放入集合recost;
recost.add(cost);
System.out.print("数据库中的价格:"+cost+" ");
}
}
con.close();
} catch (SQLException e) {
e.printStackTrace();
}
}
}
通过new conmysql().getRecost()可以拿到结果cost的集合,这样可以吗?