已阅读5页,还剩26页未读, 继续免费阅读
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
以下文件均为上机编译通过,无毒、无码:Ex1:(序列化)Sju.xml:!-注意格式 Kobe Bryant 金泰熙 杰西卡阿尔芭 杨华 Course.java/切记:对象可序列化的3个必要条件package Demo;public class Course implements java.io.Serializable /实现支持可序列化接口private String name=J2EE;private int credit=3;private int time=48;public void setName(String name) = name;public String getName() return name;public void setCredit(int credit) this.credit = credit;public int getCredit() return credit;public void setTime(int time) this.time = time;public int getTime() return time;/重写该类的toString()方法,此处标识重写基类的方法一般以Override,/所有类都继承自object类,想输出类的特定信息必须要重写object基类的/toString()方法Overridepublic String toString()return 课程名:+name+学分:+credit;CreateCourses:package Demo;/注意要导入的命名空间import java.beans.XMLDecoder;import java.beans.XMLEncoder;import java.io.FileInputStream;import java.io.FileOutputStream;import java.io.ObjectInputStream;import java.io.ObjectOutputStream;public class CreateCourse public static void main(String args) /所有java应用程序都必须要有Course c=new Course();/Main()方法,该方法也是程序c.setName(JSP);/默认起始执行方法。c.setCredit(4);c.setTime(64);System.out.print(c);/SaveToFile(c);/ReadFromFile();/SaveToXml(c);/ReadFromXml();public static void SaveToFile(Course c)try/创建文件输出流FileOutputStream fos=new FileOutputStream(D:Course); /对象输出流(流嵌套)ObjectOutputStream oos=new ObjectOutputStream(fos);oos.writeObject(c);/序列化到” D:Course”catch(Exception e)e.printStackTrace();public static void ReadFromFile()try/创建文件输入流FileInputStream fis=new FileInputStream(D:Course); /对象输入流(包装了文件流) ObjectInputStream ois=new ObjectInputStream(fis);Course c=(Course)ois.readObject();/默认返回Object类型,强制转换!System.out.print(c);/默认调用类toString()方法catch(Exception e)e.printStackTrace();public static void SaveToXml(Course c)tryFileOutputStream fos=new FileOutputStream(D:Course.xml);XMLEncoder encoder=new XMLEncoder(fos);/XML编码器encoder.writeObject(c);/往目标文件内写入对象(序列化为XML)encoder.close();catch(Exception e)e.printStackTrace();public static void ReadFromXml()tryFileInputStream fis=new FileInputStream(D:Course.xml);XMLDecoder decoder=new XMLDecoder(fis);/XML解码器/反序列化,读出对象,该方法默认返回object类型对象Course c=(Course)decoder.readObject();System.out.print(c);catch(Exception e)e.printStackTrace();Ex2:(操作XML文件,jdom)Users.xml注意,要求创建一个文件夹,并且导入jdom.jar的JAR包 User.java:package XML;import java.io.File;import java.io.FileWriter;import java.io.IOException;/注意对XML的操作相关类都封装在jdom JAR包中import org.jdom.Document;import org.jdom.Element;import org.jdom.JDOMException;import org.jdom.input.SAXBuilder;import org.jdom.output.Format;import org.jdom.output.XMLOutputter;public class User private String file=D:/JAVA-Eclipse WorkSpace/Ex2/Users.xml;private Document doc_1;public User()SAXBuilder sb=new SAXBuilder();/SAX解析器try /传参:由路径构成的文件doc_1=sb.build(new File(file);/返回:一个Document类型对象 catch (JDOMException e) /特定异常类型/ TODO Auto-generated catch blocke.printStackTrace(); catch (IOException e) /切记:捕获时从特殊到一般/ TODO Auto-generated catch blocke.printStackTrace();public String getName()Element user=doc_1.getRootElement();/获得根节点/获取子节点,并取其属性“true_name”return user.getChild(user).getAttributeValue(true_name);public void save()try FileWriter fw=new FileWriter(file);/写文件包装器/获得用于操作XML的特定格式Format f=Format.getPrettyFormat();/将XML文件的编码设置为/格式的编码,确保不写入乱码f.setEncoding(fw.getEncoding();/XML输出流操作对象(从/内存到文件);XMLOutputter out=new XMLOutputter(f);/将编辑过的XML文档doc_1,写入文件的FileWriter,由其写入物理文件out.output(doc_1, fw);fw.close(); catch (IOException e) / TODO Auto-generated catch blocke.printStackTrace();UserText_1:package XML;public class UserText_1 /* * param args */public static void main(String args) User user_1=new User();System.out.print(user_1.getName();user_1.save();Ex3:Users.java:package XML;import java.io.File;import java.io.FileWriter;import java.io.IOException;import org.jdom.Attribute;import org.jdom.Document;import org.jdom.Element;import org.jdom.JDOMException;import org.jdom.input.SAXBuilder;import org.jdom.output.Format;import org.jdom.output.XMLOutputter;public class users private String files=D:/JAVA-Eclipse WorkSpace/Ex3/users.xml;private Document doc;public users()/用于在JAVA中解析XML的APISAXBuilder sb=new SAXBuilder();try /获取指定路径处的XML文件,返回Document类型的对象,用于对/XML文件进行操作。因此你是否能明白,面向接口是多么强大,它/高于实现,无须关注细节。它依赖于什么?依赖于抽象!doc=sb.build(new File(files); catch (JDOMException e) / TODO Auto-generated catch blocke.printStackTrace(); catch (IOException e) / TODO Auto-generated catch blocke.printStackTrace();public String gettrue_name()Element root=doc.getRootElement();return root.getChild(user).getAttributeValue(true_name);public void Save()try FileWriter fw=new FileWriter(files);Format f=Format.getPrettyFormat();f.setEncoding(fw.getEncoding();XMLOutputter out=new XMLOutputter(f);out.output(doc, fw);fw.close(); catch (IOException e) / TODO Auto-generated catch blocke.printStackTrace();/增加节点,需要注意的是,一个XML中的节点,根节点,元素的属性,甚/至是空白都为Element类型,类似于所有类型都派生于Objectpublic void addUser(String id)Element root=doc.getRootElement();Element newuser=new Element(user);/创建一个为user的元素root.addContent(newuser);/追加该元素newuser.setAttribute(new Attribute(id,id);/设置该节点的属性,键值对Save();/保存Test:package XML;public class Test /* * param args */public static void main(String args) users user=new users();/System.out.print(user.gettrue_name();/user.Save();user.addUser(25);Spring:applicationContext_xsd3.xml:beans xmlns=/schema/beans 大学英语 4 64 !- 参数 !- 引用 59!- 值 大学英语 4 64 59 B07051051杨华2010-10-19 !- List类型 Course:package domain;public class Course implements java.io.Serializable/Do you know what is final? And what is finally or Finalize?private static final long serialVersionUID = -2568427801554502789L;private String name;private int credit;private int hours;public Course() public String getName() return name;public void setName(String name) = name;public int getCredit() return credit;public void setCredit(int credit) this.credit = credit;public int getHours() return hours;public void setHours(int hours) this.hours = hours;Overridepublic String toString()return Course + (name=null?:name) + , + credit + , + hours + ;/此处作出说明:object为万类之基,其有一些基方法,诸如toString()不/再多说,还有两个很重要的方法就是以下的两个:hashCode()、equals(),/hashCode():获得类对象的hash编码;/equals():比较对象值是否相等,这和C#真好相反,C#是比较对象的引用/是否相等/我们经常需要重写equals()方法另外一个很重要的常识是,我们在重写/equals()方法的同时,必须要重写hashcode()/真诚的希望有一天你能发现java和C#殊途同归Overridepublic int hashCode()return name.hashCode() + credit + hours;Overridepublic boolean equals(Object o)if (o=null) return false;if (this.getClass() != o.getClass() return false;Course that = (Course)o;return (name.equals() & (credit = that.credit) & (hours = that.hours);CourseEvent:package domain;public class CourseEvent private Course course;private int score;public Course getCourse() return course;public void setCourse(Course course) this.course = course;public int getScore() return score;public void setScore(int score) this.score = score;public CourseEvent() public CourseEvent(Course c,int s)course=c;score=s;Student:package domain;import java.util.Date;import java.util.List;public class Student private String id;private String name;private Date dayOfBirth;private List courses;public List getCourses() return courses;public void setCourses(List courses) this.courses = courses;public String getId() return id;public void setId(String id) this.id = id;public String getName() return name;public void setName(String name) = name;public Date getDayOfBirth() return dayOfBirth;public void setDayOfBirth(Date dayOfBirth) this.dayOfBirth = dayOfBirth;public Student() / TODO Auto-generated constructor stubSpringTest:package domain;/注意导入的springJAR包import org.springframework.context.ApplicationContext;import org.springframework.context.support.ClassPathXmlApplicationContext;public class SpringText /* * param args */public static void main(String args) /如果你知道FactoryMethod 这个设计模式的话,这边就不用看了,创建对象/的任务交给Spring,此处获取Spring的配置文件ApplicationContext ctx= new ClassPathXmlApplicationContext(applicationContext_xsd3.xml);/获得Course类的一个对象,默为ObjectCourse c=(Course)ctx.getBean(course1);/调用重写的toString()方法System.out.println(c);Student s=(Student)ctx.getBean(student1);System.out.print(s.getDayOfBirth();System.out.print(course:+s.getCourses().toString();CourseEvent ce=(CourseEvent)ctx.getBean(ce1);System.out.print(ce.getCourse().getName();Jdbc-odbc:User.javapackage demo;import java.sql.Connection;import java.sql.DriverManager;import java.sql.PreparedStatement;import java.sql.ResultSet;import java.sql.SQLException;import java.sql.Statement;/MS-SqlServer数据库驱动import com.microsoft.sqlserver.jdbc.SQLServerDriver;public class User private Connection conn;private String name;private String password;public User() / TODO Auto-generated constructor stubpublic boolean isValid()/String query=select * from users where uname= +/name+ and pwd= +/password+ ;String query2=select * from users where uname=? and pwd=?;/使用参数connect();try PreparedStatement stmt=conn.prepareStatement(query2);stmt.setString(1, name);stmt.setString(2, password);ResultSet res=stmt.executeQuery();return res.next(); catch (SQLException e) / TODO Auto-generated catch blocke.printStackTrace();return false;public void connect()String driver_1=sun.jdbc.odbc.JdbcOdbcDriver;String url_1=jdbc:odbc:hp;String driver_2=com.microsoft.sqlserver.jdbc.SQLServerDriver;String url_2=jdbc:sqlserver:/:1433; DatabaseName=sample;tryClass.forName(driver_2);conn=DriverManager.getConnection(url_2,sample,sample);catch(Exception e)e.printStackTrace();public void setName(String name) = name;public String getName() return name;public void setPassword(String password) this.password = password;public String getPassword() return password;UserTest.java:package demo;public class UserText public static void main(String args) User user=new User();user.setName(zs);user.setPassword(zspwd);/user.connect();System.out.println(Is the user valid?);System.out.println(user.isValid();同时注意:创建一个文件夹,取名lib,将数据库驱动程序sqljdbc.jar放在该文件夹内。Hibernate:Course.hbm.xml:hibernate-mapping package=domainCourseSelection.java:package domain;public class CourseSelection private long id;private int score;private Course course;public CourseSelection() / TODO Auto-generated constructor stubpublic CourseSelection(Course course )this.course = course;public void setScore(int score) this.score = score;public int getScore() return score;public Course getCourse() return course;public void setCourse(Course course) this.course = course;public void setId(long id) this.id = id;public long getId() return id;CourseSelection.hbm.xmlInsertCourse.java:public static void main(String args) SessionFactory sf = new Configuration().configure().buildSessionFactory();Session session = sf.openSession();Transaction tr = session.beginTransaction();try Course c = new Course();c.setName(Java EE);c.setCredit(3);c.setHours(48);session.save(c);mit(); catch (Exception e) tr.rollback();e.printStackTrace();session.createSQLQuery(shutdown).executeUpdate();session.close();InsertCourseSelection.java:public static void main(String args) SessionFactory sf = new Configuration().configure().buildSessionFactory();Session session = sf.openSession();Transaction tr = session.beginTransaction();try Course c = new Course();c.setName(Network);c.setCredit(3);c.setHours(64);session.save(c);CourseSelection cs = new CourseSelection();cs.setCourse(c);cs.setScore(88);session.save(cs);mit(); catch (Exception e) tr.rollback();e.printStackTrace();session.createSQLQuery(shutdown).executeUpdate();session.close();InsertStudent.java:public static void main(String args) SessionFactory sf = new Configuration().configure().buildSessionFactory();Session session = sf.openSession();Transaction tr = session.beginTransaction();try Course c = new Course();c.setName(OS);c.setCredit(3);c.setHours(64);session.save(c);CourseSelection cs = new CourseSelection();cs.setCourse(c);cs.setScore(88);session.save(cs);Student s = new Student();s.setStuno(B07053999);s.setName(Yang);s.setDateOfBirth(new Date();s.getCourses().add(cs);session.save(s);mit(); catch (Exception e) tr.rollback();e.printStackTrace();session.createSQLQuery(shutdown).executeUpdate();session.close();ListCourse.javapublic static void main(String args) SessionFactory sf = new Configuration().configure().buildSessionFactory();Session session = sf.openSession();try List courses = session.createQuery(from Course).list();System.out.println(Courses list:);for (Course c : courses)System.out.println(c); catch (Exception e) e.printStackTrace();try List courses = session.createQuery(select c from Course as c where not c.id in (select cs.course f
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 2025年社交媒体行业社交平台与粉丝经济研究报告及未来发展趋势预测
- 2025年虚拟现实娱乐行业内容创新与用户体验研究报告及未来发展趋势预测
- 2025年数字创意行业数字创意产业发展与文化创意产业融合研究报告及未来发展趋势预测
- 2025年电子商务行业社交电商平台社交分享与社交评论在产品营销中的作用研究报告及未来发展趋势预测
- 闸咀钉配单针转动钮行业深度研究报告
- 5G移动应用性能实时监测-洞察与解读
- 储能政策与市场价值评估-洞察与解读
- 屏蔽双绞线传输速率极限-洞察与解读
- 除夕年夜饭全家团聚珍惜家庭时光2
- 2025年下半年下半年四川省广元市剑阁县考试招聘事业单位工作人员22人易考易错模拟试题(共500题)试卷后附参考答案
- 2024人教版七年级数学上学期期中数学试卷(七年级上册人教第1-4章)试卷+解析
- 2025年外事办公室韩语翻译笔试bi备
- 中国2型糖尿病防治指南(2024版)
- GB/T 41809-2022超高清晰度电视系统节目制作和交换参数值
- GB/T 457-2008纸和纸板耐折度的测定
- 工资集体协商课件
- 重度颅脑损伤LUND概念与临床课件
- 软件需求分析与总体设计课件
- (完整)处方管理办法ppt
- MBA经典课程管理者必读
- 山皮石供应物资购015山皮文国
评论
0/150
提交评论