zoukankan      html  css  js  c++  java
  • mybatis 的简单使用

    须要用到的包:(这里仅仅是当中一个版本号。其它的百度)

    mysql-connector-java-5.1.6-bin

    mybatis-3.2.2

    先看项目文件夹:


    配置文件mybatisconfig.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> <!-- 用XML映射的时候必须配此项!

    指定mappers里面的返回值相应的实体类 --> <!-- <typeAliases> <typeAlias alias="User" type="com.miquan.mybatis.bean.User"/> </typeAliases> --> <!-- JDBC配置 --> <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/weixinface"/> <property name="username" value="root"/> <property name="password" value=""/> </dataSource> </environment> </environments> <!-- mappers,每一个实体类相应着一个xml --> <mappers> <mapper resource="com/miquan/mybatis/bean/User.xml"/> </mappers> </configuration>


    实体类User.java:

    package com.miquan.mybatis.bean;
    
    public class User {
    	private int id;
    	private String userName;
    	private String password;
    	
    	public User(int id, String userName, String password) {
    		super();
    		this.id = id;
    		this.userName = userName;
    		this.password = password;
    	}
    	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 getPassword() {
    		return password;
    	}
    	public void setPassword(String password) {
    		this.password = password;
    	}
    }
    

    User.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"> <!-- namespace相应着接口类 --> <mapper namespace="com.miquan.mybatis.inter.IUserOperation"> <!-- <select id="selectById" parameterType="int" resultType="User"> select * from User where id = #{id} </select> --> </mapper>


    IUserOperation.java:

    package com.miquan.mybatis.inter;
    
    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.miquan.mybatis.bean.User;
    
    public interface IUserOperation {
    	@Select("select * from User where id = #{id}")
    	public User selectById(int id);
    	
    	@Select("select * from User where userName = #{userName}")
    	public List<User> selectUsers(String userName);
    	
    	@Insert("insert into User values(null, #{userName}, #{password})")
    	public boolean addUser(User user); 
    	
    	@Delete("delete from User where id = #{id}")
    	public boolean delUser(int id);
    	
    	@Update("update User "
    			+ "set userName = #{userName}, "
    				+ "password = #{password} "
    			+ "where id = #{id}")
    	public boolean updateUser(User user);
    }
    
    
    
    

    注意:此处接口不支持多态。

    (不知道为什么。用着就是不能够。

    。。方法名不能一样)


    最后进行測试:Test.java:

    package com.miquan.mybatis.test;
    
    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 com.miquan.mybatis.bean.User;
    import com.miquan.mybatis.inter.IUserOperation;
    
    public class Test {
    	static SqlSession session;
    	
    	public static void main(String[] args) {
    		try {
    			//获取session
    			InputStream is = Resources.getResourceAsStream("mybatisconfig.xml");
    			SqlSessionFactory sqlSessionFactory = 
    					new SqlSessionFactoryBuilder().build(is);
    			session = sqlSessionFactory.openSession();
    			
    			//XML配置相应使用方法
    //			User user = session.selectOne("com.miquan.mybatis.bean.UserDB.selectById", 1);
    //			System.out.println(user.toString());
    			
    			//接口调使用方法
    			//////注意:insert、delete和update方法调用之后必须commit才干真正的改变数据
    			IUserOperation userOperation = session.getMapper(IUserOperation.class);
    			
    			//查
    //			User user = userOperation.selectById(1);
    //			System.out.println(user.toString());
    			
    			//查找List
    //			List<User> users = userOperation.selectUsers("miquan");
    //			System.out.println(users.size());
    			
    			//增
    //			User user = new User();
    //			user.setUserName("zhiquan");
    //			user.setPassword("999");
    //			userOperation.addUser(user);
    //			session.commit();
    			
    			//删
    //			userOperation.delUser(7);
    //			session.commit();
    			
    			//改
    			User user = new User(8, "qiantu", "shaxppp");
    			userOperation.updateUser(user);
    			session.commit();
    		} catch (Exception e) {
    			e.printStackTrace();
    		} finally {
    			try {
    				session.close();
    			} catch (Exception e) {
    				e.printStackTrace();
    			}
            }
    	}
    }
    
    

    简单的增删查改能够实现了。

  • 相关阅读:
    aspx页面,中文乱码解决方案
    使用JSP体验微信公众平台开发模式
    使用微信公众平台“编辑模式”的过程记录
    JAVA刷新网站IP访问量的技术探讨
    301. Remove Invalid Parentheses
    Dungeon Game
    刷题关键点总结-动态规划
    刷题关键点总结-单调栈、单调队列
    coin change
    常用vim命令
  • 原文地址:https://www.cnblogs.com/bhlsheji/p/5175934.html
Copyright © 2011-2022 走看看