⑴ java在Dao层执行完sql以后对取出来的值进行判断
奉劝一句野迅毕, 理解mvc分层,
然后 你层只颂芹做调用数据库,
然后你的业务处理全部去service层是搞,
然后这个判断只需要if就昌姿可以
int data = Dao.sql("select ***");
if(data.equals(1)){
return B;
}else if(data >1 ){
return data;
}
⑵ java 对数据库查询结果进行判断执行
2个方案吧:
1.用数据库的 存储过程 ,相当于数据库的函数,这里面逗弊可以加 逻辑判断
这个方法比较少用
2.在客户端分2步访问数据库,第一步登录,根据悔李返回碧指迟的数据,再决定是否 更新数据库,不是在sql语句中逻辑判断 一般都这么用
⑶ java使用mybatis执行sql脚本,怎么获取sql脚本的结果
<select id="DAO接口方法名称" parameterType="参数类型" resultType="返回结果类型">
select * from 表 where 。。。
</select>
resultType 可以是任意Object对象,如果多条数据,这这个方法返回的是List<Object?>,
如果确认是单条数据,可以直接 Object? ***(**); 。
没有封装成对象时,默认返回的是List<Map<字段名称String,列值Object>>这样的数据。
Dao接口:
List<Map<String,Object>> list(Integer id);
SQL:
<select id="list" parameterType="Integer" resultType="Map">
select * from aaa
<where>
<if test="null!=id">
id >#{id}
⑷ JAVA方法,SQL语句模糊查询
String sql="select * from ARITCLE where type="+type+" and title like \'\%"+title+"\%\' and writer like \'\%"+writer+"\%\'"
楼上的思路是对的,但是Java中输出符号要用转义符 \ 的,应为在Java中 ' % 用自己的意思,所以要用 \' \% 来表示
⑸ 用JAVA编写一个界面以录入SQL数据表的数据合法性检查问题
先用正则表达式对输入框进粗兄行验证不就逗圆行了验证不通过岩指袭就Exception.getmessag()。
再看看别人怎么说的。
⑹ 在Java程序中怎样动态的检查SQL语句是否正
在Java程序中怎样动态的检查SQL语句是否正
String sql = "SELECT 角色 FROM userinfo WHERE 员工编号='A001' AND 密码='a'";
try {
ResultSet res = stmt.executeQuery(sql);
while (res.next()) { // 循环输出<a href="https://www..com/s?wd=%E7%BB%93%E6%9E%9C%E9%9B%86&tn=44039180_cpr&fenlei=-bIi4WUvYETgN-" target="_blank" class="-highlight">结果集</a>
String role = res.getString("角色"); //这里可以根据字段名称得到该记录的角色的值
}
} catch (Exception e) {
e.printStackTrace();
}
⑺ 用JAVA如何实现执行SQL脚本文件
你可以分段读取文件,最后读出来的是一个数组,数组中的每一个元素都是可以执行的
SQL语句
。最后你用JDBC的批量执行就好了。我不知道我理解的对不对。
⑻ 如何用Java查询SQL中信息 条件如下
CREATE PROCEDURE getStudentInfoByNo --存储过程,通过给定的学号返回学生信息
(@Sno INT)
AS
BEGIN
IF EXISTS(SELECT * FROM Student WHERE Sno=@Sno)
SELECT 1,* FROM Student WHERE Sno=@Sno --有结果返回一个状态1,方便在程序中判断
ELSE
SELECT 0,'查无此人' --没有结果,返回状态0,在程序中判断.
END
这是在sqlserver中写的存储过程,以下是java中调用存储过程的代码
DriverManager.registerDriver(new SQLServerDriver());
//连接
String url="jdbc:microsoft:sqlserver://localhost:1433;databasename=YourDBName";
Connection conn = DriverManager.getConnection(url,"sa","");
String sql = "{call getStudentInfoByNo (?)}";
CallableStatement cs = conn.prepareCall(sql);
//在执行之前,必须说明所有?的内容和类型
cs.setInt(1, Sno1);//设置位置1的参数值整数Sno1
ResultSet rs = cs.executeQuery();
while(rs.next())
{
System.out.println(rs.getString(1));
//在这里可以通过rs.getString(1)判断,如果是1,则继续输出rs.getString(2),rs.getString(3)等等,直到把这个学生的所有信息都输出为止,
//如果rs.getString(1)是0,则只需输出rs.getString(2).即输出"查无此人"
}
rs.close();
cs.close();
conn.close();
一般可以采用这种方法解决复杂的问题.当然如果觉得复杂.
可以采用
sql语句和java相结合的方法,
int sno=0;
//给学号赋值,通过各种方法,如表达能提交
StringBuilder sb = new StringBilder();
sb.append("select * from student ");
if(sno>0)//对获得的学好进行判断
sb.append(" where sno = ").append(sno);
PreparedStatement ps = conn.prepareStatement(sb.toString());
rs = s.executeQuery(sqlstr);
if(rs.next)
{
//查询出此学员所有的信息
}
else
{
System.out.print("查无此人");
}
⑼ 用JAVA如何实现执行SQL脚本文件
1.在数据库编写自定义函数,存储过程,在java中调用
2.直接在java中写sql语句,使用jdbc查询
JDBC, 全称为Java DataBase Connectivity standard, 它是一个面向对象的应用程序接口(API), 通过它可访问各类关系数据库。JDBC也是java核心类库的一部分。
JDBC的最大特点是它独立于具体的关系数据库。与ODBC (Open Database Connectivity)类似, JDBC API 中定义了一些Java类分别用来表示与数据库的连接(搏激虚connections), SQL语基燃句铅历(SQL statements), 结果集(result sets)以及其它的数据库对象, 使得Java程序能方便地与数据库交互并处理所得的结果。
⑽ JAVA执行SQL报错, java.sql.SQLException: ORA-01438: 值大于为此列指定的允许精度
我想你java里定义的应该是float或者double类型吧?float是精确到小数点后6位,double是15位..所以你的222.00应该保存的比这个要更精确丛携芹,而你的oracle里,只精确了两位所以....就是这个错误了隐蔽,其实如果要求不严渗毕的话,直接定义成number就行了,那么接到的值是什么精度什么类型的他就自动存了.