浅谈Mybatis入门

                 第一次接触mybatis还是上次组长让我维护的08年的一个老的项目,第一次看见sql语句写在Xml里,感觉好好玩,一直想学学,一直没机会,这次利用这几天的空闲时间,简单的学习了一下,哈哈,自己根据网上资料用junit做了一个简单的CRUD!废话不多说,上代码!


首先我们配置一下数据连接,为此我们为数据连接单独创建一个db.properties,我用的是sqlserver:由于我用的是公司内部的测试库,ip和端口号就用0来代替了


driver=com.microsoft.sqlserver.jdbc.SQLServerDriver
url=jdbc:sqlserver://000.000.0.00:0000;databaseName=mybatis
name=sa
password=111111

接下来就是mybatis的核心配置文件 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>
	<!--引用db.properties配置文件-->
	<properties resource="db.properties"/>
	
	<!--1.为实体类创建别名
	<typeAliases>
		<typeAlias type="com.cj.Domain.User" alias="_User"/>
	</typeAliases>-->
	
        <!--2.为某包下所有实体类创建别名,mybatis默认为去除该类所在的包名,如下变成User,Order-->
	<typeAliases>
		<package name="com.cj.Domain" />
	</typeAliases>
	
	<!--development:开发模式
	    work:工作模式
	-->
	<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="${name}"/>
				<property name="password" value="${password}"/>
			</dataSource>
		</environment>
	</environments>
    
</configuration>


数据库的表:


CREATE TABLE users(
id int identity(1,1),constraint pkid primary key (id),
NAME VARCHAR(20), 
age INT);


整体架构:


实体类:


接下来配置映射文件:

  

这里我在自己敲的时候遇到的二笔错误也说一下:配置映射文件的时候namespace是独一无二的,而且这个namespace在测试类中也会用到,是通过这个namespace来找到其中对应的sql(根据id)语句的,大家也看到我这里有三个映射文件,userMapping.xml是第一次写的,namespace却是com.cj.mapping.userMapper,,namespace最好跟配置文件名统一,规范嘛,也不容易出错!!


parameterType是传入参数的类型,resultType是查询结果的类型!


接下来就是测试了,这里,为了减少代码量,我写了一个获取SqlSession的工具类:MyBatisUtil.java



现在我们来测试:

新建一个junit的测试类


代码如下:这里先使用xml配置文件的方式,下一篇说说用注解的方式,个人感觉xml好用



junit的使用就不做赘述了,查询单个的运行结果:

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值