MyBatis的简单实现

第一步:
导入jar包:
mybatis.jar sqljdbc.jar
因为我用的是Sql Server所以这里是sqlj jar
需要将src中的包,添加到类路径中去。
第二步:
建立实体类:
需要注意的一点是实体类中属性需要和数据库中的属性名想对应起来,也就是说是相同的。
	private int id;private String name;private int age;

public class Person {
private int id;
private String name;
private int age;
public Person() {
	
}
public Person(int id,String name,int age) {
	this.age=age;
	this.id=id;
	this.name=name;
}
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 int getAge() {
	return age;
}
public void setAge(int age) {
	this.age = age;
}

public String toString() {
	return this.id+","+this.name+","+this.age;
}

在创建一个测试类:
public class TestMyBatis {

public static void main(String[] args) throws IOException {
	// TODO 自动生成的方法存根
	//加载MyBatis配置文件(为了访问数据库)
	Reader reader = Resources.getResourceAsReader("conf.xml");
	
	SqlSessionFactory sessionFactory =new SqlSessionFactoryBuilder().build(reader);
	//session--connection
	SqlSession session=sessionFactory.openSession();
	String statement="org.awen.entity.personMapper.selectBlog";
	Person student=session.selectOne(statement,1);
	System.out.println(student);
	session.close();

}

在该包中创建一个Mapper.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.xml映射文件的 唯一标识 -->
<mapper namespace="org.awen.entity.personMapper">
 <!-- 后续通过namespace:id -->
	 <!-- resultType:查询返回结果值得类型,返回类型 -->
 <select id="selectBlog" resultType="org.awen.entity.Person" parameterType="int">
 <!--sql语句-->
 	select * from person where id = #{id}
 </select>
</mapper>

在src中建立一个config.xml,需要注意的点,在代码中已经声明过了。仔细观看就可以了。

<!-- 可以再次新建一个environment default="test"
 environment 的id 来指定Mybatis的运行时的数据库环境-->
 <environments default="development">
 <!-- 开发环境(自己的计算机) -->
		 <environment id="development">
		 
		 
		 <!-- 事务的提交方式:
		 	JDBC:利用JDBC方式处理事务(commit roolback close)
		 	MANAGED:将事务交由 其他组件去托管(spring,jobss),默认 会关闭连接
		 	
		 
		  -->
			 <transactionManager type="JDBC"/>
			 <!-- 数据源类型:
			 UNPOOLED:传统的JDBC模式(每次访问数据库,均 需要 打开,关闭等数据库操作 ,但是打开,关闭数据库是非常麻烦的,比较消耗性能)
			 POOLED:使用数据库连接池,也就是说可以进行并发操作,只需要在 最后(也就是说不用的时候关闭上就可以了)
			 JNDI:从tomcat中获取一个内置的数据库连接池
			 
			 
			  -->
				 <dataSource type="POOLED">
					 <!-- 配置数据信息 -->
					 <property name="driver" value="com.microsoft.sqlserver.jdbc.SQLServerDriver"/>
					 <property name="url" value="jdbc:sqlserver://localhost:1433;databaseName =Employees"/>
					 <property name="username" value="sa"/>
					 <property name="password" value="1228"/>
				 </dataSource>
			 </environment>
		 
		 
		  <environment id="test">
				 <transactionManager type="JDBC"/>
				 <dataSource type="POOLED">
				 <!-- 配置数据信息 -->
				 <property name="driver" value="com.microsoft.sqlserver.jdbc.SQLServerDriver"/>
				 <property name="url" value="jdbc:sqlserver://localhost:1433;databaseName =Employees"/>
				 <property name="username" value="sa"/>
				 <property name="password" value="1228"/>
				 </dataSource>
			</environment>
 </environments>
		 
 <mappers>
 <!-- 加载映射文件 -->
 <mapper resource="org/awen/entity/studentMapper.xml"/>
 </mappers>
</configuration>

在包中创建一个test的java文件

	public static void queryStudenyByStuno() throws IOException {
		// TODO 自动生成的方法存根
		//加载Mybatis配置文件
		//Connection -SqlSession操作Mybatis
		//conf.xml->reader
		Reader reader =Resources.getResourceAsReader("conf.xml");
		//reader -SqlSession
		SqlSessionFactory sessionFacotory=new SqlSessionFactoryBuilder().build(reader);
		SqlSession session=sessionFacotory.openSession();

		String statement="org.awen.entity.studentMapper.queryStudenyByStuno";
		Student student=session.selectOne(statement,1);
		System.out.println(student);
		session.close();		
	}

需要注意的一点是,Mapper文件中的ID对应的是
String statement=“org.awen.entity.studentMapper.”+“queryStudenyByStuno”;
加号后面的东西。

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

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值