JavaEE之mybatis代理开发模式

来源:互联网 发布:网络监控监控的是什么 编辑:程序博客网 时间:2024/06/11 18:03

MyBatis 是一款优秀的持久层框架,它支持定制化 SQL、存储过程以及高级映射。MyBatis 避免了几乎所有的 JDBC 代码和手动设置参数以及获取结果集。MyBatis 可以使用简单的 XML 或注解来配置和映射原生信息,将接口和 Java 的 POJOs(Plain Old Java Objects,普通的 Java对象)映射成数据库中的记录。下面我简单说说怎么创建mybatis的代理开发模式:

第一步:创建一个空的Javaweb项目,这个我就不详细说了;

第二步:导包,这个我也就不详细说了;

第三步:创建Javabean:

package com.fengqi.vo;import java.util.Date;public class Users {private Integer id;private String user_name;private Date user_birthday;private String user_sex;private Integer user_age;private String user_addr;private String user_iphone;public Users() {}public Users(Integer id, String user_name, Date user_birthday,String user_sex, Integer user_age, String user_addr,String user_iphone) {super();this.id = id;this.user_name = user_name;this.user_birthday = user_birthday;this.user_sex = user_sex;this.user_age = user_age;this.user_addr = user_addr;this.user_iphone = user_iphone;}public Integer getId() {return id;}public void setId(Integer id) {this.id = id;}public String getUser_name() {return user_name;}public void setUser_name(String user_name) {this.user_name = user_name;}public Date getUser_birthday() {return user_birthday;}public void setUser_birthday(Date user_birthday) {this.user_birthday = user_birthday;}public String getUser_sex() {return user_sex;}public void setUser_sex(String user_sex) {this.user_sex = user_sex;}public Integer getUser_age() {return user_age;}public void setUser_age(Integer user_age) {this.user_age = user_age;}public String getUser_addr() {return user_addr;}public void setUser_addr(String user_addr) {this.user_addr = user_addr;}public String getUser_iphone() {return user_iphone;}public void setUser_iphone(String user_iphone) {this.user_iphone = user_iphone;}@Overridepublic String toString() {return "Users [id=" + id + ", user_name=" + user_name+ ", user_birthday=" + user_birthday + ", user_sex=" + user_sex+ ", user_age=" + user_age + ", user_addr=" + user_addr+ ", user_iphone=" + user_iphone + "]";}}

第四步:创建接口:

package com.fengqi.dao;import com.fengqi.vo.Users;public interface UsersMapper {//查找用户接口public Users selectUser(String id);//删除用户接口public Users delectUser(int id);//插入用户接口public Users insertUser(Users user);//修改用户接口public Users updateUser(Users user);}

第五步:创建mapper:

<?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="com.fengqi.dao.UsersMapper"><!-- 查找用户 -->  <select id="selectUser" parameterType="String" resultType="Users">      select user_name from userss where id=#{id}  </select>  <!-- 删除用户 -->  <delete id="delectUser" parameterType="java.lang.Integer" >  delete from userss where id=#{id}  </delete>  <!-- 增加用户 -->  <insert id="insertUser" parameterType="com.fengqi.vo.Users">  insert into userss(id,user_name,user_birthday,user_sex,user_age,user_addr,user_iphone) values(#{id},#{user_name},#{user_birthday},#{user_sex},#{user_age},#{user_addr},#{user_iphone});  </insert>  <!-- 修改用户 -->  <update id="updateUser" parameterType="com.fengqi.vo.Users">  update userss set user_name=#{user_name},user_birthday=#{user_birthday},user_sex=#{user_sex},user_age=#{user_age},user_addr=#{user_addr},user_iphone=#{user_iphone}  where id=#{id}  </update></mapper>

第六步:创建全局配置文件:

<?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><!-- mybatis别名定义 --><typeAliases><typeAlias alias="Users" type="com.fengqi.vo.Users"/></typeAliases><!-- development 工厂模式 --><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://127.0.0.1:3306/test?characterEncoding=utf-8"/><property name="username" value="root"/><property name="password" value="123456"/></dataSource></environment></environments><!-- mybatis的mapper文件,每个xml配置文件对应一个接口 --><mappers><mapper resource="com/fengqi/dao/UsersMapper.xml"/>   </mappers></configuration>

第七步:创建测试类:

package com.fengqi.test;import java.io.IOException;import java.io.Reader;import java.sql.SQLException;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 com.fengqi.vo.Users;public class UserTest {public static void main(String[] args) throws SQLException, IOException{String resource = "configuration.xml";//加载配置文件Reader reader = Resources.getResourceAsReader(resource);//根据read获取SqlSessionFactory 对象SqlSessionFactory sessionFactory = new SqlSessionFactoryBuilder().build(reader);//根据SqlSessionFactory获取SqlSession对象SqlSession session = sessionFactory.openSession();try{//根据ID查找用户Users user = (Users)session.selectOne("com.fengqi.dao.UsersMapper.selectUser","3");System.out.println("username:"+user.getUser_name());//根据ID删除用户/*session.delete("com.fengqi.dao.UsersMapper.delectUser",3);session.commit();*///插入用户/*Users ui = new Users(null,"archybold8",new Date(),"0",11,"陕西省西安市","18392357490");session.insert("com.fengqi.dao.UsersMapper.insertUser",ui);session.commit();*///更新用户/*Users ui = new Users(14,"archy78",new Date(),"1",29,"陕西省西安市","18392357490");session.update("com.fengqi.dao.UsersMapper.updateUser", ui);session.commit();*/}finally{//关闭sessionsession.close();}}}
第八步:测试结果:



第八步:项目总览:


原创粉丝点击