MyBatis入门学习(一)

MyBatis入门学习(一)

大家好,又见面了,我是全栈君,祝每个程序员都可以多学几门语言。

所须要jar包:mybatis-3.x.x.jar 、假设须要和spring整合,还须要增加相关的包

1:看项目文件夹 红颜色不要关心

MyBatis入门学习(一)

2:依照步骤:

1:增加jar包

2:创建数据源(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>
	<typeAliases>
		<!--给实体类起一个别名 user -->
		<typeAlias type="com.forum.po.User" alias="User" />
	</typeAliases>
	<!--数据源配置  这块用 BD2数据库 -->
	<environments default="development">
		<environment id="development">
			<transactionManager type="jdbc" />
			<dataSource type="POOLED">
				<property name="driver" value="com.ibm.db2.jcc.DB2Driver" />
				<property name="url" value="jdbc:db2://localhost:50000/forum" />
				<property name="username" value="DB2ADMIN" />
				<property name="password" value="admin" />
			</dataSource>
		</environment>
	</environments>
	<mappers>
		<!--userMapper.xml装载进来  同等于把“dao”的实现装载进来 -->
		<mapper resource="myBatis/userMapper.xml" />
	</mappers>
</configuration> 

3:创建实体类USER

package com.forum.po;

/**
 * 用户类
 * 
 * @author db2admin
 * 
 */
public class User extends Entity {
	private String name;
	private Integer age;
	public String getName() {
		return name;
	}
	public void setName(String name) {
		this.name = name;
	}
	public Integer getAge() {
		return age;
	}
	public void setAge(Integer age) {
		this.age = age;
	}
	public User() {
	}

}


4:创建dao接口、能够说是Mapper接口:UserMapper

package com.forum.dao;

import com.forum.po.User;

public interface UserMapper {
	public User findById(String Id);
}


5:创建dao的实现,不同于hibernarte的此处的实现为一个xml文件,也就是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">
	<!--这块等于dao接口的实现  namespace必须和接口的类路径一样-->
<mapper namespace="com.forum.dao.UserMapper">
	<!-- findById必须和接口中的方法名一样  返回一个User  就是刚才的别名  假设不弄别名要连类路径一起写 麻烦-->
	<select id="findById" parameterType="HashMap" resultType="User">
		select
		* from butone.student where id=#{id}
    </select>
</mapper>


6:測试类,MyBatisTest

package com.forum.test;

import java.io.IOException;

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.forum.dao.UserMapper;
import com.forum.po.User;

/**
 * myBatis数据库连接測试
 * 
 * @author db2admin
 * 
 */
public class MyBatisTest {
	/**
	 * 获得MyBatis SqlSessionFactory  
	 * SqlSessionFactory负责创建SqlSession,一旦创建成功,就能够用SqlSession实例来运行映射语句,commit,rollback,close等方法。
	 * @return
	 */
	private static SqlSessionFactory getSessionFactory() {
		SqlSessionFactory sessionFactory = null;
		String resource = "configuration.xml";
		try {
			sessionFactory = new SqlSessionFactoryBuilder().build(Resources
					.getResourceAsReader(resource));
		} catch (IOException e) {
			// TODO Auto-generated catch block
			e.printStackTrace();
		}
		return sessionFactory;
	}

	public static void main(String[] args) {
		SqlSession sqlSession = getSessionFactory().openSession();
		UserMapper userMapper = sqlSession.getMapper(UserMapper.class);
		User user = userMapper.findById("1");
		System.out.println(user.getName());

	}

}

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请联系我们举报,一经查实,本站将立刻删除。

发布者:全栈程序员-站长,转载请注明出处:https://javaforall.net/118130.html原文链接:https://javaforall.net

(0)
全栈程序员-站长的头像全栈程序员-站长


相关推荐

  • python字典排序方法「建议收藏」

    python字典排序方法「建议收藏」字典是“键-值对”的无序可变序列在实际运用中,对字典进行排序是一个比较常见的操作,主要用到了python内置函数sorted(),该函数可以对所有可迭代的对象进行排序操作。语法(python3):sorted(iterable,key=None,reverse=False)参数说明:iterable:可迭代对象,即可以用for循环进行迭代的对象;key:主要是用来进行比较的元素,只有一个参数,具体的函数参数取自于可迭代对象中,用来指定可迭代对象中的一个元素来进行排序;reverse:排序规

    2022年6月18日
    28
  • C语言分苹果_数据结构:使用C语言

    C语言分苹果_数据结构:使用C语言1、题目描述果园里有堆苹果,N(1<N<9)只熊来分。第一只熊把这堆苹果平均分为N份,多了一个,它把多的一个扔了,拿走了一份。第二只熊把剩下的苹果又平均分成N份,又多了一个,它同样把多的一个扔了,拿走了一份,第三、第四直到第N只熊都是这么做的,问果园里原来最少有多少个苹果?示例和说明如下:2、解题思路我的方法很简单就是从最小的可能的数开始,一个一个尝试,满足了测试的要求之后

    2022年10月10日
    3
  • 网络管理员对付DDoS***的绝招分享

    网络管理员对付DDoS***的绝招分享

    2021年8月18日
    57
  • html页面调用高德地图,html前端使用高德地图入门教程「建议收藏」

    html页面调用高德地图,html前端使用高德地图入门教程「建议收藏」文章目录开始准备工作注册Key前期页面上的准备插件使用插件使用步骤引入插件定位自定义地图显示位置和缩放级别添加实时路况图层获取定位信息(需要使用插件)浏览器定位IP定位获取当前城市信息覆盖物添加覆盖物获取覆盖物覆盖物的操作图层设置图层获取图层移除图层3D地图未完待续…开始准备工作注册Key如果开发者账号包括Key已经有了,请忽略此步骤首先,注册开发者账号,成为高德开放平台开发者登陆之后,在进入…

    2022年5月21日
    75
  • zen cart template zencart模板修改[通俗易懂]

    zen cart template zencart模板修改[通俗易懂]encarttemplatezencart模板修改byZENCART模板 | postacomment下面简单的介绍下zencart网站模板的修改。修改较多的地方:(常用代码)一:头部文件为(例子):D:AppServwwwzencart12698includestemplatestheme3common–tpl_header.php1.

    2022年7月27日
    5
  • webpack基础打包命令_webpack打包现有项目

    webpack基础打包命令_webpack打包现有项目没有配置文件的打包如果我们没有使用配置文件webpack.config.js,那么我们就需要通过命令来打包案例我们首先创建一个webpackTest文件夹,然后在文件夹中再创建2个子文件夹dis

    2022年8月7日
    8

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

关注全栈程序员社区公众号