mybatis快速入门(一)

mybatis是一个支持原生sql的持久层框架, 他是由ibatis衍生而来,最近一直在尝试着使用各种框架,了解各大框架中的特性,废话不多说,马上进入正题。
操作环境:
编辑器 : myeclipse
jdk     :1.7
数据库 :mysql
maven :3.2.5


下面我把搭建成功后的项目的整体架构:




好!接下来我们就可以进入正题了。
搭建mybatis框架步骤如下:
一:创建一个maven项目,这个从网上一搜就有一大把的教程,为了怕自己写的跑题了,就先不对这个配置做介绍,只要创建一个标准的maven项目即可。
二:项目创建好了之后,咱们就可以开始做一些准备工作了,既然mybatis是一个持久层的框架,那就免不了和数据库打交道,这里咱们用一个最简单的例子来完成这一节的教程。以下是创建数据库的sql

use mybatisdemo;
create table if not exists users(
id INT(11) auto_increment primary key ,
name VARCHAR(11),
age INT(3)
);
insert into users values (1,'张三',2);


没有比上面这个更简单的了,不是吗?好了,从现在开始咱们暂时可以和数据库say goodbye了!
三:回到项目中,继续配置我们的mybatis。在resource目录下创建一个mybaitis的配置文件conf.xml文件,这个文件的作用是告诉mybatis连接数据库需要用到的信息,当然这个名字你可以随便取,但是请不要取成haha.xml或者hehe.xml,否则老大找你了,你可别来喷我哈。

 

conf.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>


	<!-- 
          development : 开发模式
          work : 工作模式
    -->
	<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/mybatisDemo"/>
				<property name="username" value="root"/>
				<property name="password" value="123456"/>
			</dataSource>
		</environment>
	</environments>
</configuration>





四:创建一个实体类对象与数据库中的表做对应。
创建User.java,注意:实体类中需要重写toString(),否则查询出来的对象是一个内存地址。不够直观

 

package com.myd.entity;


public class User {
	private int id;
	private String name;
	private int age;
	
	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;
	}
	@Override
	public String toString() {
		return "User [id=" + id + ", name=" + name + ", age=" + age + "]";
	}
	
}







五:创建一个mapper,这个类中保存的是你的原生sql代码,查询的方法或者其他crud操作都可写在该文件中,我们可以把它看做一个与数据库打交道的文件。
userMapper.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,namespace的值习惯上设置成包名+sql映射文件名,这样就能够保证namespace的值是唯一的
例如namespace="com.myd.mapping.userMapper"就是com.myd.mapping(包名)+userMapper(userMapper.xml文件去除后缀)
 -->
<mapper namespace="com.myd.mapping.userMapper">
	<!-- 在select标签中编写查询的SQL语句, 设置select标签的id属性为getUser,id属性值必须是唯一的,不能够重复
    		使用parameterType属性指明查询时使用的参数类型,resultType属性指明查询返回的结果集类型
    		resultType="me.gacl.domain.User"就表示将查询结果封装成一个User类的对象返回
    		User类就是users表所对应的实体类
   	 -->
	<select id="findById" parameterType="int" resultType="com.myd.entity.User">
		select * from users where id = #{id};
	</select>
</mapper>



六:最激动人心的时候到了,测试代码:
test.java

 

package mbtsDemo;


import java.io.InputStream;


import org.apache.ibatis.session.SqlSession;
import org.apache.ibatis.session.SqlSessionFactory;
import org.apache.ibatis.session.SqlSessionFactoryBuilder;


import com.myd.entity.User;


public class test {
	public static void main(String[] args) {
		//mybatis的配置文件
		String resource = "conf.xml";
		//使用类加载器加载mybatis的配置文件(它也加载关联的映射文件)
		InputStream is = test.class.getClassLoader().getResourceAsStream(resource);
		SqlSessionFactory sf = new SqlSessionFactoryBuilder().build(is);
		//创建能执行映射文件中sql的sqlSession
		SqlSession session = sf.openSession(true);
		String statement = "com.myd.mapping.userMapper.findById";
		User u = session.selectOne(statement,1);
		System.out.println(u);
	}
}





七:测试结果
User [id=1, name=张三, age=2]


如果你在第四步写实体类时没有重写toString方法,返回的结果是这样

 

com.myd.entity.User@20c77b27

 

 

参考地址:http://www.cnblogs.com/xdp-gacl/p/4261895.html

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
毕业设计,基于SpringBoot+Vue+MySQL开发的精简博客系统,源码+数据库+毕业论文+视频演示 当下,正处于信息化的时代,许多行业顺应时代的变化,结合使用计算机技术向数字化、信息化建设迈进。以前企业对于博客信息的管理和控制,采用人工登记的方式保存相关数据,这种以人力为主的管理模式已然落后。本人结合使用主流的程序开发技术,设计了一款基于Springboot开发的精简博客系统,可以较大地减少人力、财力的损耗,方便相关人员及时更新和保存信息。本系统主要使用B/S开发模式,在idea开发平台上,运用Java语言设计相关的系统功能模块,MySQL数据库管理相关的系统数据信息,SpringBoot框架设计和开发系统功能架构,最后通过使用Tomcat服务器,在浏览器中发布设计的系统,并且完成系统与数据库的交互工作。本文对系统的需求分析、可行性分析、技术支持、功能设计、数据库设计、功能测试等内容做了较为详细的介绍,并且在本文中也展示了系统主要的功能模块设计界面和操作界面,并对其做出了必要的解释说明,方便用户对系统进行操作和使用,以及后期的相关人员对系统进行更新和维护。本系统的实现可以极大地提高企业的工作效率,提升用户的使用体验,因此在现实生活中运用本系统具有很大的使用价值。 关键词:博客管理;Java语言;B/S结构;MySQL数据库
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值