myBatils学习一查询数据

1、创建如下的工程

2、Student.java代码如下:

package com.abc.domain;


public class Student {
private int id;  
private String name;   //姓名 
private String gender; //性别 
private String major;  //专业 
private String grade;  //年级 
public int getId() {
return id;
}
public void setId(int id) {
this.id = id;
}
public String getName() {
return name;
}
public void setName(String name) {
this.name = name;
}
public String getGender() {
return gender;
}
public void setGender(String gender) {
this.gender = gender;
}
public String getMajor() {
return major;
}
public void setMajor(String major) {
this.major = major;
}
public String getGrade() {
return grade;
}
public void setGrade(String grade) {
this.grade = grade;
}
}

===============================================================================================================================

StudentMapper.java代码如下:

package com.abc.mapper;


import com.abc.domain.Student;


public interface StudentMapper {
public Student getById(int id);
}

===============================================================================================================================

configuration.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>
<!--表明重用预编译的SQL语句-->
<settings>
<setting name="defaultExecutorType" value="REUSE"/>
</settings>
 <!--类型别名定义。今后可只用Student来代替它冗长的  
 全限定名-->
<typeAliases>
<typeAlias alias="Student" type="com.abc.domain.Student"/>
</typeAliases>
 <!--environments可包含多个environment元素。  
 每个environment配置与数据库交互的细节,这里  
 只需要配置一个。default属性是指在创建SqlSessionFactory  
 时,若没有明确指定要用哪个environment,则使用此  
 属性指定的-->
<environments default="development">
<environment id="development">
<transactionManager type="jdbc"/>
<!--使用连接池的数据源配置-->
<dataSource type="POOLED">
<property name="driver" value="oracle.jdbc.driver.OracleDriver"/>
<property name="url"
value="jdbc:oracle:thin:@localhost:1521:orcl"/>
<property name="username" value="scott"/>
<property name="password" value="tiger"/>
</dataSource>
</environment>
</environments>
 <!--指定要用到的mapper文件。以下的resource属性告诉  
 MyBatis要在类路径下的resources目录下找StudentMapper.xml文件。我们将把mapper文件存放在src目录下的resources目录中,并让ant把resources目录拷贝到classes中,而classes目录会被ant添加到类路径中。-->
<mappers>
<mapper resource="resources/com/abc/mapper/StudentMapper.xml"/>
</mappers>
</configuration>

==============================================================================================================================

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">
<mapper namespace="com.abc.mapper.StudentMapper">
<resultMap id="studentResultMap" type="Student">
<id property="id" column="id"/>
<!--普通属性映射-->
<result  property="name"   column="name"/>
<result  property="gender" column="gender"/>
<result  property="major"  column="major"/>
<result  property="grade"  column="grade"/>
</resultMap>
       <!--与StudentMapper接口中的getById方法对应,包括  
       方法名和参数类型。SQL语句中以“#{}”的形式引用参数-->
<select id="getById" parameterType="int" resultMap="studentResultMap">
         SELECT *  
         FROM student  WHERE id = #{id}  
</select>
</mapper>

===============================================================================================================================

TestMyBatils代码如下:

package com.test;


import java.io.IOException;
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 com.abc.domain.Student;
import com.abc.mapper.StudentMapper;


public class TestMyBatils {
public static void main(String[] args) throws IOException{
String resource = "resources/com/abc/mapper/configuration.xml";
Reader reader = null;
reader = Resources.getResourceAsReader(resource);
SqlSessionFactory factory = new 
SqlSessionFactoryBuilder()
.build(reader);
SqlSession session = factory.openSession();
StudentMapper mapper = session.getMapper(
StudentMapper.class);
Student student = mapper.getById(1);
System.out.println(student.getId()
+ " " +student.getName()
+ " " + student.getGender() 
+ " " + student.getMajor()
+ " " + student.getGrade());
}
}

============================================================================================================================

CREATE TABLE student(  
   id int NOT NULL primary key,  
   name varchar2(10) NOT NULL, 
   gender varchar2(20) NOT NULL, 
   major varchar2(20) NOT NULL,  
   grade varchar2(4) NOT NULL 
); 

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值