Mybatis的简单配置

Mybatis的配置过程

  1. 所需要的包 mybatis-3.5.1.jar 和mysql-connector-java-5.1.0-bin.jar 将这两个包导入到项目中

  2. 配置mybatis-config.xml
    在src下创建mybatis-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>
    	<!--外部指定的方式 配置properties资源文件-->
       <properties resource="database.properties"></properties>
        <!--配置类型别名-->
        <typeAliases>
            <!--单个别名
           <typeAlias type="com.zy.Student" alias="student"></typeAlias>
           -->
            <!--通过包名批量定义别名,使用直接用类名即别名-->
            <package name="com.zy" />
        </typeAliases>
      <environments default="development">
        <environment id="development">
          <transactionManager type="JDBC"/>
          <dataSource type="POOLED">
            <property name="driver" value="${driver}"/>
            <property name="url" value="${url}"/>
            <property name="username" value="${username}"/>
            <property name="password" value="${password}"/>
          </dataSource>
        </environment>
      </environments>
      <mappers>
      	<!--Mapper映射文件的路径-->
        <mapper resource="com/zy/StudentMapper.xml"/>
      </mappers>
    
databa.properties中的驱动信息:
		    driver=com.mysql.jdbc.Driver
		    url=jdbc:mysql://localhost:3306/smbms
		    username=root
		    password=root
  1. 创建类与表 的映射
    创建一个实体类Student.java
    实体类和数据库一一对应(数据库字段----类属性)
    get和set方法,构造方法(无参构造和全参构造),toString方法(以便测试查看)
public class Student {
        			private Integer stuNo;
        			private String stuName;
        			private String stuClass;
        			private int stuAge;
    			
	    			public Student() {
	    				super();
	    			}
	    			public Student(Integer stuNo, String stuName, String stuClass, int stuAge) {
	    				super();
	    				this.stuNo = stuNo;
	    				this.stuName = stuName;
	    				this.stuClass = stuClass;
	    				this.stuAge = stuAge;
	    			}
	    			public Integer getStuNo() {
	    				return stuNo;
	    			}
	    			public void setStuNo(Integer stuNo) {
	    				this.stuNo = stuNo;
	    			}
	    			public String getStuName() {
	    				return stuName;
	    			}
	    			public void setStuName(String stuName) {
	    				this.stuName = stuName;
	    			}
	    			public String getStuClass() {
	    				return stuClass;
	    			}
	    			public void setStuClass(String stuClass) {
	    				this.stuClass = stuClass;
	    			}
	    			public int getStuAge() {
	    				return stuAge;
	    			}
	    			public void setStuAge(int stuAge) {
	    				this.stuAge = stuAge;
	    			}
	    			
	    			@Override
	    			public String toString() {
	    				return "Student [stuNo=" + stuNo + ", stuName=" + stuName + ", stuClass=" + stuClass + ", stuAge=" + stuAge
	    						+ "]";
	    			}
	    		}
  1. Mapper映射
    创建StudentMapper.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文件的路径-->
		<mapper namespace="com.zy.StudentMapper">
				<!--
					id:唯一标记符
					resultType:返回值类型
					parameterType:输入值类型
					通过#{属性名} 拿值
				-->
			  <select id="selectStudent" resultType="student" parameterType="int">
			   	 select * from student where stuNo = #{stuNo} 
			  </select>
		</mapper>
  1. 测试类
    创建测试类Test.java

    		package com.zy;
    		import java.io.IOException;
    		import java.io.Reader;
    		
    		import javax.annotation.Resource;
    		
    		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 StudentTest {
    			public static void main(String[] args) throws IOException {
    		//		通过IO流读取mybatis-config.xml中的配置
    				Reader reader = Resources.getResourceAsReader("mybatis-config.xml");
    		//		获取SqlSessionFactory对象
    				SqlSessionFactory factory = new SqlSessionFactoryBuilder().build(reader);
    		//		通过SqlSessionFactory对象获取SqlSession
    				SqlSession session = factory.openSession();
    		//		通过namespace+id -->Sql
    				String statement = "com.zy.StudentMapper.selectStudent";
    		//		ִ执行Sql
    				Student student = session.selectOne(statement,2);
    		//		打印输出结果
    				System.out.println(student);
    		//		关闭SqlSession
    				session.close();
    			}
    		}
    
  2. 项目结构图
    项目的结构图

7.运行结果
根据学生的学号查找学号为2的学生信息
运行结果

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值