mybatis连接mysql流程(基于Statement方式的增删改查(一))

mybatis:可以简化jdbc操作,实现数据的持久化
ORM概念:对象和表的映射
mybatis是ORM的实现,操作对象就相当于操作表(数据库)

配置mybatis:
1、下载:主要用到的就是该文件F:\mybatis-3.5.0\mybatis-3.5.0\mybatis-3.5.0.jar,将其导入并添加路径
2、还需要一个连接mysql的驱动
3、为了将类与数据库映射起来,所以需要一个pojo类,属性和类型尽量与数据库一致
4、在类下面新建mapper.xml,导入配置文件,修改namespace

<?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.sicnu.sty.personMappers">  //映射文件的路径
	<select id="queryPersonByID" resultType="com.sicnu.sty.Person" parameterType="int"><!-- resultType必须写全类名即包下面的类名 parameterType为参数类型-->  
		select * from person where id = #{id}  <!-不要加分号-->  
	</select>
</mapper>

5、src下新建配置文件conf.xml 导航:手册中:Building SqlSessionFactory from 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>
	<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/php10" /><!-- 连接数据库pap10 -->
				<property name="username" value="root" /><!-- 用户名 -->
				<property name="password" value="123456" /><!-- 密码 -->
			</dataSource>
		</environment>
	</environments>
	<mappers>
	<!-- 加载映射文件 -->
		<mapper resource="com/sicnu/sty/personMappers.xml" />
	</mappers>
</configuration>

6、新建一个测试类来获取数据库中的数据

package com.sicnu.sty;

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;


public class TestMybatis {
	public static void main(String[] args) throws IOException {
		//加载mybatis配置文件(为了访问数据库)
		//把配置文件变为一个流的形式
		Reader reader = Resources.getResourceAsReader("conf.xml");
		
		//SqlSessionFactory为接口不能直接用--->用SqlSessionFactoryBuilder实例化-->用其build方法-->目的连接数据库
		SqlSessionFactory sessionFactory = new SqlSessionFactoryBuilder().build(reader);
		SqlSession sqlSession = sessionFactory.openSession();
		
		
		//根据以下两个找到最数据库的操作,用点.连接起来namespace+id
		//namespace:com.sicnu.sty.personMappers
		//id:queryPersonByID
		String statement = "com.sicnu.sty.personMappers.queryPersonByID";
		Person person =sqlSession.selectOne(statement,1);//在personMappers.xml中说明了发挥对象是Person
		System.out.println(person);
		sqlSession.close();//关闭连接
		
	}
}

7、运行得出结果
在这里插入图片描述附上Demo结构
在这里插入图片描述
之后是官方推荐,即另一种动态代理的方式

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值