当前位置: 首页 > news >正文

域名seo站长工具校园网站建设资金来源有

域名seo站长工具,校园网站建设资金来源有,电商网站的二级菜单怎么做,网络做推广目录 【MyBtis】配置和映射 11.1 示例:实现表数据的增、删、改、查 1.创建工程mybatis_DML demo 2.创建数据库操作的工具类:DBOperatorMgr.java 3.创建映射接口 4.创建XML映射文件 5.测试 【MyBtis】配置和映射 MyBatis 的真正强大之外在于它的映射语句&#xf…

目录

   【MyBtis】配置和映射

 11.1 示例:实现表数据的增、删、改、查

1.创建工程mybatis_DML demo

 2.创建数据库操作的工具类:DBOperatorMgr.java

3.创建映射接口

4.创建XML映射文件

5.测试


   【MyBtis】配置和映射

        MyBatis 的真正强大之外在于它的映射语句,这也是它的魅力所在。由于它的异常强大,映射器的XML文件就显得相对简单。如果将其与具有相同功能的 JDBC 代码进行对比,会立即发现其省掉了将近 95% 的代码。MyBatis 就是针对 SQL 构建的并且比普通的方法效果更好。        

      

        (1)实现表数据的增、删、改、查;

        (2)MyBatis主配置文件;

        (3)XML映射文件;

        (4)高级结果映射。

 11.1 示例:实现表数据的增、删、改、查

        1.创建工程mybatis_DML demo

        在 idea 中创建 Maven Project,如图11-1所示,“GroupID“ 选项中输入 “com.mialab” ,在 “ArtifactId” 选项输入“student”最终完成的 student 工程目录和 student 初始表数据如图11-1和图11-2所示。

        

                                                图11-1 mybatisDML_demo 工程目录结构

                                                        图11-2student表中的数据

        2.创建数据库操作的工具类:DBOperatorMgr.java

        在MyBatis 使用中,如果每个方法执行时都需要读取配置文件,并根据配置文件的信息构建SqlSessionFactory对象,然后创建SqlSession 对象,这会导致类大量的重复代码。为了简化开发,需要将重复代码封装到一个工具类中。如下:

public class DBOperatorMgr {static Logger logger = Logger.getLogger(DBOperatorMgr.class.getName());private static DBOperatorMgr dbMgr;private SqlSessionFactory sqlSessionFactory;private DBOperatorMgr() {String resource = "mybatis-config.xml";InputStream inputStream;try {inputStream = Resources.getResourceAsStream(resource);sqlSessionFactory = new SqlSessionFactoryBuilder().build(inputStream);} catch (Exception e) {logger.error(e.toString());}}public static DBOperatorMgr getInstance() {if (dbMgr == null) {dbMgr = new DBOperatorMgr();}return dbMgr;}public SqlSessionFactory getSqlSessionFactory() {return sqlSessionFactory;}	
}

        3.创建映射接口

        

public interface StudentMapper {public Student getStudent(String sno);public int addStudent(Student student);public List<Student> getSudentAll();public int updateStudent(Student student);public int deleteStudent(String sno);
}

        4.创建XML映射文件

        在包com.mialab.mybatis_DML_demomapper 中创建 StudentMapper.xml文件。

<mapper namespace="com.mialab.mybatis_DML_demo.mapper.StudentMapper"><select id="getStudent" resultType="com.mialab.mybatis_DML_demo.domain.Student">select * from student wheresno = #{sno}</select><insert id="addStudent" parameterType="student">insert intostudent(sno,name,sex,age,dept_no)values(#{sno},#{name},#{sex},#{age},#{dept_no})</insert><resultMap id="studentResultMap" type="student"><id property="sno" column="sno" /><result property="name" column="name" /><result property="sex" column="sex" /><result property="age" column="age" /><result property="dept_no" column="dept_no" /></resultMap><select id="getSudentAll" resultMap="studentResultMap">select * from student</select><update id="updateStudent" parameterType="student">update student set name= #{name}, sex = #{sex}, age = #{age}, dept_no = #{dept_no}where sno =#{sno}</update><delete id="deleteStudent" parameterType="String">delete from studentwhere sno = #{sno}</delete></mapper>

       

         5.测试

        如图11-1所示,在src/main/java 中创建 Package“com.mialab.mybatis_DML demo.main”。在此包中创建测试类DML_Mainjava,主要代码:

public class DML_Main {	public static void main(String[] args) {//testInsert();//testSelectAll();testSelect("20171509");//testUpdate();
//		testDelete("20171622");}	private static void testDelete(String sno) {Logger log = Logger.getLogger(DML_Main.class);SqlSession session = null;try {session = DBOperatorMgr.getInstance().getSqlSessionFactory().openSession();StudentMapper mapper = session.getMapper(StudentMapper.class);			mapper.deleteStudent(sno);			session.commit();} catch(Exception ex) {session.rollback();ex.printStackTrace();} finally {if (session != null) {session.close();}}		}private static void testSelectAll() {Logger log = Logger.getLogger(DML_Main.class);SqlSession session = null;try {session = DBOperatorMgr.getInstance().getSqlSessionFactory().openSession();StudentMapper mapper = session.getMapper(StudentMapper.class);List<Student> stu_list = mapper.getSudentAll();for(Student stu:stu_list) {//System.out.println(stu);log.info(stu);}} finally {if (session != null) {session.close();}}}private static void testInsert() {Logger log = Logger.getLogger(DML_Main.class);SqlSession session = null;try {session = DBOperatorMgr.getInstance().getSqlSessionFactory().openSession();StudentMapper mapper = session.getMapper(StudentMapper.class);Student student = new Student();student.setSno("20171622");student.setName("李白");student.setAge(88);student.setSex("男");student.setDept_no("2609");log.info(student);mapper.addStudent(student);session.commit();} catch(Exception ex) {session.rollback();ex.printStackTrace();} finally {if (session != null) {session.close();}}}private static void testSelect(String sno) {Logger log = Logger.getLogger(DML_Main.class);SqlSession session = null;try {session = DBOperatorMgr.getInstance().getSqlSessionFactory().openSession();StudentMapper mapper = session.getMapper(StudentMapper.class);Student student = mapper.getStudent(sno);//System.out.println(student);log.info(student);} finally {if (session != null) {session.close();}}		}private static void testUpdate() {Logger log = Logger.getLogger(DML_Main.class);SqlSession session = null;try {session = DBOperatorMgr.getInstance().getSqlSessionFactory().openSession();StudentMapper mapper = session.getMapper(StudentMapper.class);Student student = new Student();student.setSno("20171622");student.setName("苏东坡");student.setAge(68);student.setSex("女");student.setDept_no("2612");log.info(student);mapper.updateStudent(student);session.commit();} catch(Exception ex) {session.rollback();ex.printStackTrace();} finally {if (session != null) {session.close();}}}
}

        

        先测试 testSelectA11() 方法。如图 11-1 所示,右击comm.ialab.mybatis _DML_demo.main包中的DML_Main.java,在弹出的快捷菜单中选择“Run DML_Main.java”选项,在控制台中可以得到以下的结果:

        

 INFO [main] - Student [sno=20171508, name=李勇, sex=男, age=20, dept_no=2601]INFO [main] - Student [sno=20171509, name=刘娟, sex=女, age=19, dept_no=2602]INFO [main] - Student [sno=20171622, name=李白, sex=男, age=88, dept_no=2609]

        可分别对增、删、改、查的方法testInsert()、testUpdate()等进行测试。

http://www.yayakq.cn/news/654209/

相关文章:

  • 中国热门网站网页界面设计招聘
  • wordpress非官方seo是什么职务
  • 美食网站开发的目的谷歌英文网站优化
  • 网站做edi认证有用没百度地图导航网页版
  • 网站开发南昌js怎么做网站
  • 怎么做一个自己网站白酒网站的建设
  • 布吉个人网站建设免费做橙光封面的网站
  • 视觉中国设计网站wordpress当前分类id
  • 上海网站排名前十app模拟制作
  • 云主机添加网站网站建设新闻中心
  • 徐州网站建设方案推广免费的网站域名查询565wcc
  • 网站后台编辑器源码php做外贸网站好吗
  • 哈铁工程建设公司网站wordpress 标签页制作
  • 网站策划书的撰写流程淘宝优惠券私人查券网站怎么做
  • 网站建设中国的发展电力建设集团网站
  • 做互联网项目怎么推广湖南好搜公司seo
  • 江宁区财政局网站开发区分局Wordpress禁止爬虫ip
  • 宇泽佛山网站建设大连百事通国际旅行社
  • 网站模板制作教程视频百度开放平台
  • 东营网站建设怎么建设中国专利技术开发公司官网
  • 个人网站建立 学生没有服务器做网站
  • 一个域名能同时做2个网站吗天津市做网站公司
  • 记事本做网站素材代码自有电脑做网站服务器
  • 做网站的难点产品创意设计
  • 小型购物网站模板科技网站模版
  • 企业门户网站建设费用网址导航网站建设
  • 广州制作网站平台网络工程就业前景好吗
  • 网站开发技能做网站的协议
  • 公司网站可以不备案吗滁州建设网站
  • 无为县住房建设局网站首页温州seo博客