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标签可以使你随时随地在需要的地方作上标记,不至于遗漏未尽的工作。
webhosting24决定从7月1日开始对日本机房的VPS进行NVMe和流量大升级,几乎是翻倍了硬盘和流量,当然前提是价格依旧不变。目前来看,国内过去走的是NTT直连,服务器托管机房应该是CDN77*(也就是datapacket.com),加上高性能平台(AMD Ryzen 9 3900X+NVMe),这样的日本VPS还是有相当大的性价比的。官方网站:https://www.webhosting...
ParkInHost主机商是首次介绍到的主机商,这个商家是2013年的印度主机商,隶属于印度DiggDigital公司,主营业务有俄罗斯、荷兰、德国等机房的抗投诉虚拟主机、VPS主机和独立服务器。也看到商家的数据中心还有中国香港和美国、法国等,不过香港机房肯定不是直连的。根据曾经对于抗投诉外贸主机的了解,虽然ParkInHost以无视DMCA的抗投诉VPS和抗投诉服务器,但是,我们还是要做好数据备...
美国知名管理型主机公司,2006年运作至今,虚拟主机、VPS、云服务器、独立服务器等业务全部采用“managed”,也就是人工参与度高,很多事情都可以人工帮你处理,不过一直以来价格也贵。也不知道knownhost什么时候开始运作无管理型业务的,估计是为了扩展市场吧,反正是出来较长时间了。闲来无事,那就给大家介绍下“unmanaged VPS”,也就是无管理型VPS,低至5美元/月,基于KVM虚拟,...
parameterclass为你推荐
李智慧李智慧和韩智慧是一个人吗?个人的详细资料怎样的?视频技术短视频运营每天的工作是做什么?需要所学的技术都有什么方面?云计划云计划创富平台怎么样?有谁知道。介绍一下。文本框透明html怎么把这个文本框变为透明?腾讯贴吧腾讯论坛里找自己发的帖移动硬盘文件或目录损坏且无法读取移动硬盘文件或目录损坏且无法读取怎么办??web推送WEB订单管理系统病毒分析网站电脑中病毒了,应该去哪个网站?微信电脑版2013电脑怎样上微信呢?竞争对手的主要优势竞争对手的主要劣势
cn域名备案 高防dns cdn服务器 好看的桌面背景图 web服务器架设软件 网站被封 java空间 服务器合租 新睿云 东莞主机托管 lamp兄弟连 114dns 网页加速 万网服务器 移动王卡 2016黑色星期五 hosts文件 alertpay asp.net虚拟主机 卡巴斯基免费下载 更多