栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 软件开发 > 后端开发 > C/C++/C#

MyBatis3.2.x从入门到精通之第二章

C/C++/C# 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

MyBatis3.2.x从入门到精通之第二章

上图其实已经提示出了解决办法,在这里我在列出来,大家仅供参考
第一节:解决问题
第一:对应频繁使用数据库连接,我们可以通过C3P0,BoneCP(推荐使用)等等连接池来解决
第二:将sql语句配置在xml配置文件中,即使sql变化,不需要对java代码进行重新编译。
第三:将sql语句及占位符号和参数全部配置在xml中。
第四:将查询的结果集,自动映射成java对象。
第二节:开门见山
说了很多但是还没说道重点,下面以一个入门程序为案例,来学校mybatis框架。
一、开发准备:包括需求确认、开发环境、日志文件(和数据库打交道这个不能少)等等
环境:Java 1.7 64位,Eclipse 4.3 kepler 64位(注意操作系统决定你安装的程序,64位的要保持一直)
mysql 5.5 等等
jar准备:数据库连接驱动包,mybatis的jar包,日志包log4j(放在类路径下面)
二、开发
配置文件:log4j.properties、sqlMapConfig.xml、以及Bean对象需要映射的xml文件
log4j.properties:

log4j.rootLogger=DEBUG, Console

#Console  
log4j.appender.Console=org.apache.log4j.ConsoleAppender  
log4j.appender.Console.layout=org.apache.log4j.PatternLayout  
log4j.appender.Console.layout.ConversionPattern=%d [%t] %-5p [%c] - %m%n

sqlMapConfig.xml




    
    
 
     
     
     
  
  
  
  
     
 
    
    
    
 
    

这里面我的Bean为User所以名字就叫user.xml



 

 
 
 
 
  SELECT * FROM USER WHERe USERNAME LIKE '%${value}%'
 

 
 
     
     
  SELECT LAST_INSERT_ID()
     
  INSERT INTO USER (USERNAME,BIRTHDAY,SEX,ADDRESS) VALUE (#{username},#{birthday},#{sex},#{address})
      
     
 

 
 
  DELETE FROM USER WHERe id =#{id}
      

 
 
  UPDATE USER SET username=#{username},sex=#{sex},address=#{address},birthday=#{birthday} WHERe id=#{id}
 

以上为对用户的增删该查(包括模糊查询)的一个xml。需求在xml文件中也有说明,要是想学可以复制进去试一试,有什么问题在下面留言就好了。
第三节:
xml文件的内容需要一个一个写,因为我是写好的,所以照着程序写,不会乱。
User.java注意包名

package cn.mybaitis.pojo;
import java.io.Serializable;
import java.util.Date;
public class User implements Serializable {
    private static final long serialVersionUID = 1L;
    //属性名和数据字段对应
    private int id;//主键
    private String username;//姓名
    private String sex;//性别
    private Date birthday;//生日
    private String address;//住址

    public int getId() {
 return id;
    }
    public void setId(int id) {
 this.id = id;
    }
    public String getUsername() {
 return username;
    }
    public void setUsername(String username) {
 this.username = username;
    }
    public String getSex() {
 return sex;
    }
    public void setSex(String sex) {
 this.sex = sex;
    }
    public Date getBirthday() {
 return birthday;
    }
    public void setBirthday(Date birthday) {
 this.birthday = birthday;
    }
    public String getAddress() {
 return address;
    }
    public void setAddress(String address) {
 this.address = address;
    }
    @Override
    public String toString() {
 return "User [id=" + id + ", username=" + username + ", sex=" + sex
  + ", birthday=" + birthday + ", address=" + address + "]";
    }
}

查询案例代码:

package cn.mybaitis.first;

import java.io.IOException;
import java.io.InputStream;
import java.util.List;

import org.apache.ibatis.io.Resources;
import org.apache.ibatis.session.SqlSession;
import org.apache.ibatis.session.SqlSessionFactory;
import org.apache.ibatis.session.SqlSessionFactoryBuilder;
import org.junit.Test;

import cn.mybaitis.pojo.User;

public class MyBatis_select {
    
    public static void main(String[] args) throws IOException {
 // mybatis的配置文件
 String resource = "SqlMapConfig.xml";
 InputStream in = Resources.getResourceAsStream(resource);
 // 创建会话工厂
 SqlSessionFactory sqlFactory = new SqlSessionFactoryBuilder().build(in);
 // 得到SqlSession
 SqlSession sqlSession = sqlFactory.openSession();

 
 User user = sqlSession.selectOne("test.findUserById", 1);
 System.out.println(user);
 //释放资源
 sqlSession.close();
    }
    //模糊查询
    @Test
    public void testFindByUsername() throws Exception {
 // 创建会话工厂
 SqlSessionFactory sqlFactory = new SqlSessionFactoryBuilder().build(Resources.getResourceAsStream("SqlMapConfig.xml"));
 // 得到SqlSession
 SqlSession sqlSession = sqlFactory.openSession();
 //list中的user和映射文件中的resultType所指定的类型一致
 List list =sqlSession.selectList("test.findUserByName", "小明");
 for(User user: list){
     System.out.println(user);
 }
 sqlSession.close();
    }

}

插入案例代码:

package cn.mybaitis.first;

import java.io.IOException;
import java.io.InputStream;

import org.apache.ibatis.io.Resources;
import org.apache.ibatis.session.SqlSession;
import org.apache.ibatis.session.SqlSessionFactory;
import org.apache.ibatis.session.SqlSessionFactoryBuilder;

import cn.mybaitis.pojo.User;

public class MyBatis_insert {
    
    public static void main(String[] args) throws IOException {
 // mabatis配置文件
 String resource = "SqlMapConfig.xml";
 // 对mybatis流化
 InputStream in = Resources.getResourceAsStream(resource);
 // 创建SqlSessionFacrtory
 SqlSessionFactory sqlSessionFactory = new SqlSessionFactoryBuilder()
  .build(in);
 // 打开SqlSession
 SqlSession sqlSession = sqlSessionFactory.openSession();
 
 User user = new User();
 user.setUsername("订饭");
 user.setSex("2");
 sqlSession.insert("test.insertUser", user); 
 sqlSession.commit();
 System.out.println(user.getId());
 sqlSession.close();

    }

}

删除案例代码:

package cn.mybaitis.first;

import java.io.IOException;

import org.apache.ibatis.io.Resources;
import org.apache.ibatis.session.SqlSession;
import org.apache.ibatis.session.SqlSessionFactory;
import org.apache.ibatis.session.SqlSessionFactoryBuilder;

public class Mybatis_delete {
    
    public static void main(String[] args) throws IOException {
 SqlSessionFactory sqlFactory = new SqlSessionFactoryBuilder()
  .build(Resources.getResourceAsStream("SqlMapConfig.xml"));
 SqlSession sqlSession = sqlFactory.openSession();
 int i = sqlSession.delete("test.deleteUserById",27);
 System.out.println(i);
 sqlSession.commit();
 sqlSession.close();
    }

}

修改案例代码:

package cn.mybaitis.first;

import java.io.IOException;
import java.util.Date;

import org.apache.ibatis.io.Resources;
import org.apache.ibatis.session.SqlSession;
import org.apache.ibatis.session.SqlSessionFactory;
import org.apache.ibatis.session.SqlSessionFactoryBuilder;

import cn.mybaitis.pojo.User;

public class Mybatis_update {

    public static void main(String[] args) throws IOException {
 SqlSessionFactory sqlFactory = new SqlSessionFactoryBuilder().build(Resources.getResourceAsStream("SqlMapConfig.xml"));
 // 得到SqlSession
 SqlSession sqlSession = sqlFactory.openSession();
 User user = sqlSession.selectOne("test.findUserById", 1);
 user.setAddress("江苏");
 user.setSex("男");
 user.setBirthday(new Date());
 user.setUsername("娄勋");
 int i =sqlSession.update("test.updateUser", user);

 System.out.println(i);

 sqlSession.commit();

 sqlSession.close();
    }

}
我觉得贴出的代码,加上必要注释,才可以提高。

本文为慕课网作者原创,转载请标明【原文作者及本文链接地址】。侵权必究,谢谢合作!

转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/233789.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号