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标签可以使你随时随地在需要的地方作上标记,不至于遗漏未尽的工作。
今天有网友提到自己在Linux服务器中安装VNC桌面的时候安装都没有问题,但是在登录远程的时候居然有出现灰色界面,有三行代码提示"Accept clipboard from viewers,Send clipboard to viewers,Send primary selection to viewers"。即便我们重新登录也不行,这个到底如何解决呢?这里找几个可以解决的可能办法,我们多多尝试。...
Virmach商家我们是不是比较熟悉?速度一般,但是人家价格低,而且机房是比较多的。早年的时候有帮助一个有做外贸也许需要多个机房且便宜服务商的时候接触到这个商家,有曾经帮助够买过上百台这样的低价机器。这里需要提醒的,便宜但是速度一般,尤其是中文业务速度确实不快,如果是外贸业务,那肯定是没有问题。这几天,我们有看到Virmach推出了夏季优惠促销,VPS首年8折,最低年付仅7.2美元,多机房可选,如...
青果云香港CN2_GIA主机测评青果云香港多线BGP网络,接入电信CN2 GIA等优质链路,测试IP:45.251.136.1青果网络QG.NET是一家高效多云管理服务商,拥有工信部颁发的全网云计算/CDN/IDC/ISP/IP-VPN等多项资质,是CNNIC/APNIC联盟的成员之一。青果云香港CN2_GIA主机性能分享下面和大家分享下。官方网站:点击进入CPU内存系统盘数据盘宽带ip价格购买地...
parameterclass为你推荐
12种颜色水粉颜料调色过程十二种颜色数据统计分析表如何用Excel做数据分析?asp大马一句话木马中的大马和小马的作用各是什么?天翼校园宽带校园天翼宽带是什么上网类型单元测试规范单元场景测试是如何进行的?收费视频微信里的视频通话是怎么收费 ?点心os现有的基于安卓深度优化的MUUI、点心OS、CM7、乐众ROM、乐蛙,这些哪个好?各自特点?给个排名。汤不热福利手机汤不热太卡怎么办web推送WEB订单管理系统挂qq网站那有挂QQ的网站啊
网络域名 已备案域名注册 太原域名注册 国外vps主机 域名备案收费吗 主机测评 x3220 naning9韩国官网 windows主机 163网 英文站群 云全民 工信部icp备案号 银盘服务是什么 免费外链相册 网站加速软件 韩国代理ip 帽子云排名 中国linux 网页加速 更多