ibatis中可以写两条删除语句么,怎么写?
在映射文件中写
<delete id = "deleteUser" parameterClass="java.lang.String">
delete from 表名 where id=#value#
</delete>
注:id为标示Java项目开发 代码解释: sqlMap 中的字段含义
首先,通过你的这个文件的格式,我可以推断,你这是用的ibaits!
id就是一个别名,好让java的DAO层能调用到这个资源文件的这个SQL。
parameterClass这个就是表示,你传递进来的数据类型是什么。
resultClass就是表示,你这个查询语句,的返回类型是什么。
可以是一个基本数据类型,如string也可以是一个entityjava如何判断属性类型
你是想通过传入一个类模板然后判断出某个属性的类型?
利用反射可以做到
Field filed = className.getDeclaredField(parameter);
className为对应类模版,parameter为你的属性名称
filed.getType().toString(); 然后利用这个方法可以查询到对应属性类型
基本类型直接返回比如 int 直接返回int ,如果是包装或者引用 则直接
返回对应包类名 比如 class java.lang.Short
如果你要获取所有的 还是利用class对象
Field[] fields =className.getDeclaredFields();
循环遍历就可以了java个人信息查询和修改
进口java.awt。
*;
进口java.awt.event。
*;
进口javax.swing。
*;
进口. io . *;
进口java.util。
*;
类学生实现java.io.Serializable {
串号,姓名,专业,年级,波尔斯,性;
公共的学生(){ };
公共空间setNumber(弦号){ this.number =数量;}
公共字符串getNumber(){返回数量;}
公共空间setName(字符串名称){ this.name =名字;}
公共字符串getName(){返回名称;}
公共空间setSex(字符串性){ this.sex =性;}
公共字符串getSex(){返回性;}
公共空间setSpecialty(字符串专业){ this.specialty =专业;}
公共字符串getSpecialty(){返回专业;}
公共空间setGrade(字符串年级){ this.grade =年级;}
公共字符串getGrade(){返回年级;}
公共空间setBorth(字符串波尔斯){ this.borth =波尔斯;}
公共字符串getBorth(){返回波尔斯;}
}
公开课StudentManager延伸JFrame {
JLabel磅= new JLabel(“录入请先输入记录,查询,删除请先输入学号,修改是对查询”+
“内容改后的保存!”);
静态JTextField Jnumber、Jname Jspecialty、Jgrade Jborth;
静态JRadioButton男孩,女孩;
静态ButtonGroup组=零;
静态JButton登录、选择、删除、更新显示;
静态JPanel p1,p2,p3,p4,p5,p6、pv,ph值;
静态学生学生=零;
静态Hashtable Shashtable =零;
静态文件文件=零;
静态FileInputStream剧中=零;
静态ObjectInputStream inTwo =零;
静态FileOutputStream outOne =零;
静态ObjectOutputStream outTwo =零;
公共StudentManager(){
超级(“学生基本信息管理系统”);
Jnumber = new JTextField(10);
Jname = new JTextField(10);
Jspecialty = new JTextField(10);
Jgrade = new JTextField(10);
Jborth = new JTextField(10);
组= new ButtonGroup();
男孩= new JRadioButton(“男”,真正的);
女孩= new JRadioButton(“女”,假);
group.add(男孩);
group.add(女孩);
登录= new JButton(“录入”);
选择= new JButton(“查询”);
删除= new JButton(“删除”);
更新= new JButton(“修改”);
显示= new JButton(“显示”);
登录。
addActionListener(新InputAct());
选择。
addActionListener(新InquestAct());
更新。
addActionListener(新ModifyAct());
删除。
addActionListener(新DeleteAct());
秀。
addActionListener(新ShowAct());
update.setEnabled(假);
p1 = new JPanel();
p1。
(新JLabel添加(“学号:“,JLabel.CENTER));
p1.add(Jnumber);
p2 = new JPanel();
p2。
(新JLabel添加(“姓名:“,JLabel.CENTER));
p2.add(Jname);
p3 = new JPanel();
p3。
(新JLabel添加(“性别:“,JLabel.CENTER));
p3.add(男孩);
p3.add(女孩);
p4 = new JPanel();
p4。
(新JLabel添加(“专业:“,JLabel.CENTER));
p4.add(Jspecialty);
p5 = new JPanel();
p5。
(新JLabel添加(“年级:“,JLabel.CENTER));
p5.add(Jgrade);
p6 = new JPanel();
p6。
(新JLabel添加(“出生:“,JLabel.CENTER));
p6.add(Jborth);
pv = new JPanel();
pv。
setLayout(新GridLayout(6,1));
pv.add(p1);
pv.add(p2);
pv.add(p3);
pv.add(p4);
pv.add(p5);
pv.add(p6);
ph = new JPanel();
ph.add(登录);
ph.add(选择);
ph.add(更新);
ph.add(删除);
ph.add(显示);
=新文件(“学生信息. txt”);
Shashtable = new散列表();
如果(! file.exists()){
尝试{
FileOutputStream =新FileOutputStream(文件);
ObjectOutputStream objectOut = new ObjectOutputStream(出);
objectOut.writeObject(Shashtable);
objectOut.close();
out.close();
}
抓住(IOException e){ }
}
容器con = getContentPane();
con.setLayout(新BorderLayout());
con.add(磅,BorderLayout.NORTH);
BorderLayout.CENTER con.add(pv);
con.add(ph值、BorderLayout.SOUTH);
setDefaultCloseOperation(EXIT_ON_CLOSE);
setBounds(100100600300);
setVisible(真正的);
}
公共静态void main(String[]args){新StudentManager();}
类InputAct实现ActionListener {
公共空间actionPerformed(ActionEvent e){
update.setEnabled(假);
字符串数量= " ";
数量= Jnumber.getText();
如果(number.length()> 0){
尝试{
剧中= new FileInputStream(文件);
inTwo = new ObjectInputStream(剧中);
Shashtable =(Hashtable)inTwo.readObject();
inOne.close();
inTwo.close();
}
捕获异常(ee){ System.out.println(“创建散列表出现问题!”);}
如果(Shashtable.containsKey(数字)){
字符串警告= "该生信息已存在,请到修改页面修改!”;
JOptionPane.showMessageDialog(null,警告,“警告”,
JOptionPane.WARNING_MESSAGE);
} / / i
其他{
字符串m =“该生信息将被录入!”;
int ok = JOptionPane.showConfirmDialog(null,m,“确认”,
JOptionPane.YES_NO_OPTION JOptionPane.INFORMATION_MESSAGE);
如果(好吧= = JOptionPane.YES_OPTION){
字符串名称= Jname.getText();
字符串专业= Jspecialty.getText();
串级= Jgrade.getText();
字符串波尔斯= Jborth.getText();
字符串性=零;
如果(boy.isSelected()){性= boy.getText();}
其他{性= girl.getText();}
学生= new();
student.setNumber(数量);
student.setName(名称);
student.setSpecialty(专业);
student.setGrade(年级);
student.setBorth(波尔斯);
student.setSex(性);
尝试{
outOne = new FileOutputStream(文件);
outTwo = new ObjectOutputStream(outOne);
Shashtable.put(数量、学生);
outTwo.writeObject(Shashtable);
outTwo.close();
outOne.close();
}
捕获异常(ee){ System.out.println(“输出散列表出现问题!”);}
Jnumber.setText(空);
Jname.setText(空);
Jspecialty.setText(空);
Jgrade.setText(空);
Jborth.setText(空);
}
} / / else1结束
} / / i?f
其他{
字符串警告= "必须输入学号!”;
JOptionPane.showMessageDialog(null,警告,
“警告”,JOptionPane.WARNING_MESSAGE);
} / / else0结束
} / / actionPerformed结束
} / /结束类
类InquestAct实现ActionListener {
公共空间actionPerformed(ActionEvent e){
字符串数量= " ";
数量= Jnumber.getText();
如果(number.length()> 0){
尝试{
剧中= new FileInputStream(文件);
inTwo = new ObjectInputStream(剧中);
Shashtable =(Hashtable)inTwo.readObject();
inOne.close();
inTwo.close();
}
捕获异常(ee){ System.out.println(“散列表有问题!”);}
如果(Shashtable.containsKey(数字)){
update.setEnabled(真正的);
学生stu =(学生)Shashtable.get(数量);
Jname.setText(stu.getName());
Jspecialty.setText(stu.getSpecialty());
Jgrade.setText(stu.getGrade());
Jborth.setText(stu.getBorth());
如果(stu.getSex().equals(男)){ boy.setSelected(真正);}
其他{ girl.setSelected(真正);}
}
其他{
update.setEnabled(假);
字符串警告= "该学号不存在!”;
JOptionPane.showMessageDialog(null,警告,
“警告”,JOptionPane.WARNING_MESSAGE);
}
}
其他{
update.setEnabled(假);
字符串警告= "必须输入学号!”;
JOptionPane.showMessageDialog(null,警告,
“警告”,JOptionPane.WARNING_MESSAGE);
}
}
}
类ModifyAct实现ActionListener {
公共空间actionPerformed(ActionEvent e){
字符串数量= Jnumber.getText();
字符串名称= Jname.getText();
字符串专业= Jspecialty.getText();
串级= Jgrade.getText();
字符串波尔斯= Jborth.getText();
字符串性=零;
如果(boy.isSelected()){性= boy.getText();}
其他{性= girl.getText();}
学生学生=新学生();
学生.setNumber(数量);
学生.setName(名称);
学生.setSpecialty(专业);
学生.setGrade(年级);
学生.setBorth(波尔斯);
学生.setSex(性);
尝试{
outOne = new FileOutputStream(文件);
outTwo = new ObjectOutputStream(outOne);
Shashtable。
把(数量、学生);
outTwo.writeObject(Shashtable);
outTwo.close();
outOne.close();
Jnumber.setText(空);
Jname.setText(空);
Jspecialty.setText(空);
Jgrade.setText(空);
Jborth.setText(空);
}
捕获异常(ee){
System.out.println(“录入修改出现异常!”);
update.setEnabled(假);
}
}
}
类DeleteAct实现ActionListener {
公共空间actionPerformed(ActionEvent e){
update.setEnabled(假);
字符串数量= Jnumber.getText();
如果(number.length()> 0){
尝试{
剧中= new FileInputStream(文件);
inTwo = new ObjectInputStream(剧中);
Shashtable =(Hashtable)inTwo.readObject();
inOne.close();
inTwo.close();
}
捕获异常(ee){ }
如果(Shashtable.containsKey(数字)){
学生stu =(学生)Shashtable.get(数量);
Jname.setText(stu.getName());
Jspecialty.setText(stu.getSpecialty());
Jgrade.setText(stu.getGrade());
Jborth.setText(stu.getBorth());
如果(stu.getSex().equals(男)){ boy.setSelected(真正);}
其他{ girl.setSelected(真正);}
}
字符串m = "确定要删除该学生的记录吗?”;
int ok = JOptionPane.showConfirmDialog(null,m,“确认”,
JOptionPane.YES_NO_OPTION JOptionPane.QUESTION_MESSAGE);
如果(好吧= = JOptionPane.YES_OPTION){
Shashtable.remove(数量);
尝试{
outOne = new FileOutputStream(文件);
outTwo = new ObjectOutputStream(outOne);
outTwo.writeObject(Shashtable);
outTwo.close();
outOne.close();
Jnumber.setText(空);
Jname.setText(空);
Jspecialty.setText(空);
Jgrade.setText(空);
Jborth.setText(空);
}
捕获异常(ee){ System.out.println(ee);}
}
else if(好吧= = JOptionPane.NO_OPTION){
Jnumber.setText(空);
Jname.setText(空);
Jspecialty.setText(空);
Jgrade.setText(空);
Jborth.setText(空);
}
其他{
字符串警告= "该学号不存在!”;
JOptionPane.showMessageDialog(null,警告,
“警告”,JOptionPane.WARNING_MESSAGE);
}
}
其他{
字符串警告= "必须输入学号!”;
JOptionPane.showMessageDialog(null,警告,
“警告”,JOptionPane.WARNING_MESSAGE);
}
}
}
类ShowAct实现ActionListener {
公共空间actionPerformed(ActionEvent e){
新StudentShow(文件);
}
}
类StudentShow JDialog {延伸
Hashtable学生散列表=零;
JTextArea显示=零;
FileInputStream剧中=零;
ObjectInputStream inTwo =零;
文件文件=零;
公共StudentShow(文件文件){
超级(新JFrame(),“显示对话框”);
this.file =文件;
显示= new JTextArea(30);
尝试{
剧中= new FileInputStream(文件);
inTwo = new ObjectInputStream(剧中);
学生散列表=(Hashtable)inTwo.readObject();
inOne.close();
inTwo.close();
}
捕获异常(ee){ }
如果学生散列表.isEmpty())显示.append(“目前还没有学生的信息记录! n”);
其他{
显示。
setText(“学号姓名性别专业年级出生 n”);
(列举运用=学生散列表. elements();enm.hasMoreElements();){
学生stu =(学生)enm.nextElement();
字符串性= " ";
如果(stu.getSex().equals(男))性= "男";
其他性= "女";
字符串str = stu.getNumber()+”、“+ stu.getName()+”、“+性别+”、“
+ stu.getSpecialty()+”、“+ stu.getGrade()+”、“+ stu.getBorth()+“ n”;
显示.append(str);
}
}
JScrollPane滚动= new JScrollPane(显示);
容器con = getContentPane();
con.add(“中心”,滚动);
con.validate();
setVisible(真正的);
setBounds(200200400300);
addWindowListener(新WindowAdapter(){
公共空间windowClosing(WindowEvent e){ setVisible(假);}
}
);
}
}
}javadoc是什么?
Javadoc是Sun公司提供的一个技术,它从程序源代码中抽取类、方法、成员等注释形成一个和源代码配套的API帮助文档。
也就是说,只要在编写程序时以一套特定的标签作注释,在程序编写完成后,通过Javadoc就可以同时形式程序的开发文档了。
JBuilder提供了多项对Javadoc支持的功能,可以通过向导在工程窗格的树中创建Javadoc的节点,通过节点的菜单命名创建工程的Javadoc文档,可以通过诱导的方式录入Javadoc的标签,检验注释是否和源代码相匹配等。
本文,我们将讲解如何在源代码中用Javadoc标签写注释及如何创建Javadoc文档。
虽然软件工程中把详细设计作为软件项目的一个重要的阶段,但在实践中往往没有得到落实。
并不是这个阶段不重要,而是实施有很大的困难,因为软件需求是天生的易动症患者,好不容易详细设计出来后,需求已和当初的版本大相径庭,而花费巨大,精雕细琢的详细设计已变成昨日黄花了。
Javadoc注释由Javadoc标签和描述性文本组成,你可以为类、接口添加注释,也可为构造函数、值域、方法等类中的元素添加注释。
可以通过代码模板快速的录入Javadoc注释,你也可以选择通过Javadoc对话框以一种形象化的方式录入Javadoc注释。
此外,JBuilder还提供了各种Javadoc的辅助功能,如JavadocInsight诱导录入,冲突报告和更正,特殊的todo标签等。
虽然在Java文件中编写注释后,马上可以切换到内容窗格的Doc视图页代码中对应的Javadoc文档,但在Doc视图页中生成的文档仅是不完整的"范本"。
首先,没有导航树,其次没有生成通过@see或@link关联内容的链接。
所以你可以把Doc视图页中的Javadoc文档看成是Javadoc最终版本的预览。
本文中我们介绍了Javadoc的标签,讲解了如何在JBuilder编辑Javadoc注释,你应该尽量使用JavadocInsight、ClassInsight和ParameterInsight快速而正确地编写Javadoc注释。
此外你应该将常用的注释做成模板,方便快速录入。
JBuilder提供的注释冲突报告和恢复的功能可以使你轻松解决注释冲突的问题,免除了单调的手工调整操作。
JBuilder还允许你自定义Javadoc标签,以满足一些个性化的要求。
此外JBuilder自定义的todo标签可以使你随时随地在需要的地方作上标记,不至于遗漏未尽的工作。
今天中午的时候看到群里网友在讨论新版本的Apache HTTP Server 2.4.51发布且建议更新升级,如果有服务器在使用较早版本的话可能需要升级安全,这次的版本中涉及到安全漏洞的问题。Apache HTTP 中2.4.50的修复补丁CVE-2021-41773 修复不完整,导致新的漏洞CVE-2021-42013。攻击者可以使用由类似别名的指令配置将URL映射到目录外的文件的遍历攻击。这里...
简介华圣云 HuaSaint是阿里云国际版一级分销商(诚招募二级代理),专业为全球企业客户与个人开发者提供阿里云国际版开户注册、认证、充值等服务,通过HuaSaint开通阿里云国际版只需要一个邮箱,不需要PayPal信用卡,不需要买海外电话卡,绝对的零门槛,零风险官方网站:www.huasaint.com企业名:huaSaint Tech Limited阿里云国际版都有什么优势?阿里云国际版的产品...
Bluehost怎么样,Bluehost好不好,Bluehost成立十八周年全场虚拟主机优惠促销活动开始,购买12个月赠送主流域名和SSL证书,Bluehost是老牌虚拟主机商家了,有需要虚拟主机的朋友赶紧入手吧,活动时间:美国MST时间7月6日中午12:00到8月13日晚上11:59。Bluehost成立于2003年,主营WordPress托管、虚拟主机、VPS主机、专用服务器业务。Blueho...
parameterclass为你推荐
excel计算公式求excel函数公式大全宝应中学江苏省宝应中学的知名校友awvawv转换器哪里下?鄂n鄂A鄂B鄂C鄂D鄂E鄂F鄂G鄂H鄂J鄂K鄂L鄂M鄂N鄂P鄂Q鄂R鄂S鄂T鄂U分别代表湖北省的哪些城市棋牌论坛三个知名的游戏相关论坛,要求有网址的!天翼校园宽带校园天翼宽带是什么上网类型activitygroup请问在activitygroup中嵌入多个webview,切换时如何保持状态bt代理为什么用代理下载BT非常非常慢啊?什么是网络地址手机IP地址是什么?软件开发技术文档请问软件项目的技术开发文档都要写些什么呢,具体要求是什么呢,要写多少文档呢
百度域名 smartvps x3220 云网数据 linkcloud css样式大全 服务器是干什么的 ca187 中国域名 中国联通宽带测速 阵亡将士纪念日 域名和主机 以下 瓦工招聘 国内免备案空间 qq空间打开慢 免费网络电视直播 大容量存储控制器 免费论坛空间 竞彩论坛空间 更多