mybatis入门代码

来源:互联网 发布:ps6软件中文版下载 编辑:程序博客网 时间:2024/06/05 21:17

mybatis简单理解就是替换JDBC的框架。
计算机识别的都是.class文件,所以第三方类库可以通过修改环境变量的方法让JVM通过环境变量找到它。
准备工作

    数据库                                 建表,插入测试数据       以mySQL数据库为例子,创建数据库表
create table j233_student(    id int  primary key auto_increment,    name varchar(50))select * from j233_student;insert into user (id, name )values(1,'李白');insert into user (id, name )values(2,'王昭君');insert into user (id, name )values(3,'貂蝉');insert into user (id, name )values(4,'吕布');select id,name from j233_student where id=1; 

1 建立项目
控制台项目

    web项目                           

2 jar http://www.cnblogs.com/xdp-gacl/p/4261895.html
来源

    位置                                  mybatis类库       jar 官网下载                    数据库驱动程序包        jar oracle安装目录                  导入,加入到构建路径                      

3 编码,测试,整理操作步骤

    编码阶段                    1、添加Mybatis的配置文件conf.xml                        本地化改造               存储连接数据库的信息      2、定义表所对应的实体类                3、定义操作users表的sql映射文件userMapper.xml              4、在conf.xml文件中注册userMapper.xml文件    
在src下建立属性文件,mybatis配置文件                         属性文件: db.properties         储存数据库连接信息           oracle的配置文件    driver=oracle.jdbc.driver.OracleDriver                      url=jdbc:oracle:thin:@127.0.0.1:1521:orcl                       name=scott                      password=tiger                              配置文件:   config.xml              
mySQL的配置文件driver=com.mysql.jdbc.Driverurl=jdbc:mysql://localhost:3306/j233?useUnicode=true&characterEncoding=utf8user=rootpassword=root
配置文件:   config.xml  
<?xml version="1.0" encoding="UTF-8" ?><!DOCTYPE configuration PUBLIC "-//mybatis.org//DTD Config 3.0//EN"        "http://mybatis.org/dtd/mybatis-3-config.dtd"><configuration><environments default="development">    <environment id="development">        <transactionManager type="JDBC"/>        <dataSource type="POOLED">            <property name="driver" value="com.mysql.jdbc.Driver"/>            <property name="url" value="jdbc:mysql://localhost:3306/j233" />            <property name="username" value="root"/>            <property name="password" value="root"/>        </dataSource>    </environment></environments><mappers>     <mapper class="com.student.mapper.StudentMapper"/></mappers></configuration>
5、编写测试代码:执行定义的select语句  编写创建session对象的工具类   
package com.student.util;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;public class SessionUtil {    public static SqlSession getsSqlSession() {        String resource = "mybatis-config.xml";        InputStream inputStream = null;        try {            inputStream = Resources.getResourceAsStream(resource);        } catch (IOException e) {            e.printStackTrace();        }        SqlSessionFactory sqlSessionFactory = new SqlSessionFactoryBuilder().build(inputStream);        SqlSession session = sqlSessionFactory.openSession();        return session;    }}

6 定义实体类

package com.student.bean;import java.util.List;public class Student {    private Integer id;    private String name;    private List<Std_lsn> sl;    public Student(Integer id, String name) {        super();        this.id = id;        this.name = name;    }    public Student(Integer id, String name, List<Std_lsn> sl) {        super();        this.id = id;        this.name = name;        this.sl = sl;    }    public Student() {        super();    }    public Integer getId() {        return id;    }    public void setId(Integer id) {        this.id = id;    }    public String getName() {        return name;    }    public void setName(String name) {        this.name = name;    }    public List<Std_lsn> getSl() {        return sl;    }    public void setSl(List<Std_lsn> sl) {        this.sl = sl;    }    @Override    public String toString() {        return "Student [id=" + id + ", name=" + name + ", sl=" + sl + "]";    }}

8 定义映射文件

定义接口文件  
package com.student.mapper;import java.util.List;import org.apache.ibatis.annotations.Delete;import org.apache.ibatis.annotations.Insert;import org.apache.ibatis.annotations.Select;import org.apache.ibatis.annotations.Update;import com.student.bean.Student;public interface StudentMapper{    @Select("select id,name from j233_student where id = #{id}")    public Student findStudentById(Integer id);    @Select("select * from j233_student")    public List<Student> findAll();    @Insert("insert into j233_student(id, name)values(#{id},#{name})")    public int add(Student student);    @Delete("delete from j233_student where id = #{id}")    public void deleteStudentById(Integer id);    @Update("update j233_student set name = #{name} where id =#{id}")    public int updateStudent(Student student);}

9 在配置文件中注册映射文件

注意修改配置文件<mappers>     <mapper class="com.student.mapper.StudentMapper"/></mappers>

10 编写数据库操作的代码

    CURD        用注解方法写的,就在StudentMapper接口中,通过注解实现增删改查的操作。

11 测试

package test;import org.apache.ibatis.session.SqlSession;import com.student.bean.Student;import com.student.mapper.StudentMapper;import com.student.util.SessionUtil;public class Test {    public static void main(String[] args) {        //1.创建sqlSession对象        SqlSession session = SessionUtil.getsSqlSession();        //2.创建接口实现类对象        StudentMapper sm = session.getMapper(StudentMapper.class);        //3.调用接口方法        //添加//      Student student = new Student(5,"刘备");      //      sm.add(student);//      session.commit();//      session.close();        //查询//      Student student1 = sm.findStudentById(5);//      System.out.println(student1);        //删除//      sm.deleteStudentById(4);//      session.commit();//      session.close();        //修改        Student student = new Student(5,"孙尚香");        sm.updateStudent(student);        session.commit();        session.close();    }}
第二种方式是通过xml配置文件的方式来实现CRUD操作步骤大致相同。

1.创建java项目
2.导入jar包(
log4j-1.2.16.jar
mybatis-3.1.1.jar
ojdbc6.jar

3.buildPath
4.连接数据库,建表
**测试数据库连接可用,保证环境可靠
**

create table user(    id int  primary key auto_increment,    userName varchar(50),    userAge int(11),    userAddress varchar(200))insert into user (id, userName,userAge,userAddress )values(1,'李白',18,'北京');insert into user (id, userName,userAge,userAddress )values(2,'玄策',18,'天津');insert into user (id, userName,userAge,userAddress )values(3,'貂蝉',19,'北京');insert into user (id, userName,userAge,userAddress )values(4,'赵云',20,'上海');select * from user;

5.在src下建立属性文件,mybatis配置文件,log4j配置文件
6.建立创建SqlSession对象的工具类,并测试 对象是否成功创建
属性文件: db.properties 储存数据库连接信息
oracle:
driver=oracle.jdbc.driver.OracleDriver
url=jdbc:oracle:thin:@127.0.0.1:1521:orcl
name=scott
password=tiger
mySQL:
driver=com.mysql.jdbc.Driver
url=jdbc:mysql://localhost:3306/j233?useUnicode=true&characterEncoding=utf8
user=root
password=root

<?xml version="1.0" encoding="UTF-8" ?><!DOCTYPE configuration  PUBLIC "-//mybatis.org//DTD Config 3.0//EN"  "http://mybatis.org/dtd/mybatis-3-config.dtd"><configuration>  <environments default="development">    <environment id="development">      <transactionManager type="JDBC"/>      <dataSource type="POOLED">        <property name="driver" value="com.mysql.jdbc.Driver"/>        <property name="url" value="jdbc:mysql://localhost:3306/j233"/>        <property name="username" value="root"/>        <property name="password" value="root"/>      </dataSource>    </environment>  </environments>  <mappers>    <mapper resource="user/bean/User.xml"/>  </mappers></configuration>

7.创建实体类

package user.bean;public class User {      private int id;        private String userName;        private String userAge;        private String userAddress;        public User(int id, String userName, String userAge, String userAddress) {            super();            this.id = id;            this.userName = userName;            this.userAge = userAge;            this.userAddress = userAddress;        }        public User() {            super();        }        public User(String userName, String userAge, String userAddress) {            super();            this.userName = userName;            this.userAge = userAge;            this.userAddress = userAddress;        }        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 getUserAge() {            return userAge;        }        public void setUserAge(String userAge) {            this.userAge = userAge;        }        public String getUserAddress() {            return userAddress;        }        public void setUserAddress(String userAddress) {            this.userAddress = userAddress;        }}

8.实体类的xml映射文件
并且在这里通过xml映射文件实现增删改查的方法

<?xml version="1.0" encoding="UTF-8" ?><!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"        "http://mybatis.org/dtd/mybatis-3-mapper.dtd"><mapper namespace="user.mapper.UserMapper">    <select id="selectUserById" parameterType="int" resultType="user.bean.User">        select * from User where id = #{id}    </select>    <insert id="addUser" parameterType="user.bean.User">        insert into user(userName,userAge,userAddress) values(#{userName},#{userAge},#{userAddress})    </insert>    <delete id="deleteUserById" parameterType="user.bean.User">        delete from user where id=#{id}    </delete>    <update id="updateUser" parameterType="user.bean.User">        update user set userName= #{userName},userAge=#{userAge},userAddress=#{userAddress} where id= #{id}     </update></mapper>

9.测试类

package test;import java.io.Reader;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 user.bean.User;public class TryTest {    private static SqlSessionFactory sqlSessionFactory;    private static Reader reader;    public static void main(String[] args) {            try{                reader    = Resources.getResourceAsReader("Configuration.xml");                sqlSessionFactory = new SqlSessionFactoryBuilder().build(reader);            }catch(Exception e){                e.printStackTrace();            }            SqlSession session = sqlSessionFactory.openSession();            try {//                User user = session.selectOne("selectUserById", 1);//                System.out.println(user.getUserAddress());//                System.out.println(user.getUserName());//              User user=new User("女娲", "12", "北京");//              session.insert("addUser", user);                //int user = session.delete("deleteUserById",2);                //System.out.println(user);                User user =  new User(4,"赵云","18","北京");                 session.update("updateUser",user);                session.commit();            } finally {                session.close();            }    }}通过xml文件实现增删改查的操作new一个User对象,通过对象调用方法,实现增删改查的操作。
原创粉丝点击