JDBC(mybatis)学习,框架导入,包使用

这篇博客主要介绍了如何导入并使用MyBatis框架,包括框架设置、接口定义、配置文件创建及核心配置的详细步骤,实现了SQL语句的执行。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

本节要点:学习框架的导入,框架的设置,框架的使用

1.

在项目中创建一个 lib 文件夹放入 mybatis 框架的 jar 包,并导入项目中

2.

src 中创建 com.chen.bean 包,然后创建 User 实体类。
改查等操作。
public class User {
private Integer uid ;
private String username ;
private String password ;
private String phone ;
private String address ;
...

3.接口

src 中创建 com.chen.dao 包,然后创建 UserDao 的接口,然后在接口中定义针对数据库的增删
改查等操作。
public interface UserDao {
/**
* 查询所有用户信息
* @return
*/
List < User > selectAll ();
}

4.创建一个file

dao接口的同目录下创建跟接口名字一样的配置文件。 

<?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 namespace = "com.chen.dao.UserDao" >
<!-- 通过 select 标签进行查询
id: 映射接口的方法名
parameterType: 指定参数的类型 ( 如果是集合类型只需要指定集合元素的类型即可 )
resultType: 指定返回值的类型
-->
<select id = "selectAll" resultType = "com.chen.bean.User" >
select * from t_user;
</select>
</mapp

 5.核心配置

src 中创建一个文件,命名为 SqlMapConfig.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>
<!-- 配置环境信息 === 就是配置连接数据库的参数
default :指定配置的环境信息的 id ,表示默认连接该环境
-->
<environments default = "mysql" >
<environment id = "mysql" >
<!-- 配置事务的处理方式:模式使用 JDBC 的事务处理 -->
<transactionManager type = "jdbc" ></transactionManager>
<!-- 数据源的默认 type 设置为 pooled ,表示使用连接池 -->
<dataSource type = "pooled" >
<property name = "driver" value = "com.mysql.cj.jdbc.Driver" />
<property name = "url" value = "jdbc:mysql://127.0.0.1:3306/mydb" />
<property name = "username" value = "root" />
<property name = "password" value = "123" />
</dataSource>
</environment>
<environment id = "oracle" >
<transactionManager type = "" ></transactionManager>
<dataSource type = "" ></dataSource>
</environment>
</environments>
<!-- 加载 mapper 配置文件 -->
<mappers>
<mapper class = "com.chen.dao.UserDao" />
</mappers

6.使用mybatis框架需要按照框架的步骤进行

public class UserTest {
@Test
public void testSelectAll () throws IOException {
//1. 加载核心配置文件的字节输入流
InputStream stream = Resources . getResourceAsStream ( "mybatis.xml" );
//2. 创建 SqlSessionFactory 的构建对象 -- 框架使用的是构建者模式
SqlSessionFactoryBuilder builder = new SqlSessionFactoryBuilder ();
//3. 通过构建对象加载配置文件的输入流获取 SqlSessionFactory
SqlSessionFactory factory = builder . build ( stream );
//4. 通过工厂对象获取 SqlSession 对象 ---- 执行 JDBC 操作的
SqlSession sqlSession = factory . openSession ();
//5. 通过 SqlSession 对象获取接口对应的代理对象
UserDao userDao = sqlSession . getMapper ( UserDao . class );
//6. 通过代理对象执行查询方法
List < User > userList = userDao . selectAll ();
//7. 遍历集合
for ( User user : userList ) {
System . out . println ( user );
}
}
}

7.已经完成功能

1.

public interface Daoo {
    List<Emp> selectAll();
//根据id查询
    Emp selectByid(int eid);
    //增加SELECT*FROM aww WHERE eid=1
    int add(Emp user);
    //删除
    int del(int gid);
    int update(Emp emp);
}

sql语句:

 

<mapper namespace="dao.Daoo">
    <select id="selectAll" resultType="bean.Emp">
        SELECT * FROM aww
    </select>
    <insert id="add" parameterType="bean.Emp">
    insert into aww(ename,dept,job,sal,phone,address) values(#{ename},#{dept},#{job},#{sal},#{phone},#{address});
   </insert>
    <delete id="del" parameterType="bean.Emp">
        delete  from aww where eid=#{eid}
    </delete>
    <select id="selectByid" parameterType="int"
            resultType="bean.Emp">
        SELECT*FROM aww WHERE eid=#{eid}
</select>

    <update id="update" parameterType="bean.Emp">
update aww set ename=#{ename},dept=#{dept},job=#{job},sal=#{sal},phone=#{phone},address=#{address} where eid=#{eid}
    </update>

</mapper>

方法:

public class Tset {
    InputStream stream = null;
    SqlSessionFactoryBuilder builder = null;
    SqlSessionFactory factory = null;
    SqlSession sqlSession = null;
    Daoo userDao=null;
    //简约版
    @Before
    public void init() throws IOException {
        stream = Resources.getResourceAsStream("mybatis.xml");
        builder = new SqlSessionFactoryBuilder();
        factory = builder.build(stream);
        sqlSession = factory.openSession();
        userDao = sqlSession.getMapper(Daoo.class);
    }
    @Test
    public void testSelectAll() throws IOException {
        List<Emp> userList = userDao.selectAll();
        for (Emp user : userList) {
            System.out.println(user);
        }
    }
    @Test
    public void add() throws IOException {
        Emp dao = new Emp();
        dao.setEname("刑天");
        dao.setDept("9898");
        dao.setJob("远古巨神");
        dao.setSal("5979");
        dao.setPhone("159796349");
        dao.setAddress("北京");
        int add = userDao.add(dao);
        //判断
        if (add > 0) {
            System.out.println("成功进入,虚空");
        }
    }
    @Test
    public void del() throws IOException {
        int del = userDao.del(2);
        //判断
        if (del > 0) {
            System.out.println("成功进入,虚空消失");
        }
    }
    @Test
    public void sel() throws IOException {
        Emp emp = userDao.selectByid(1);
        System.out.println(emp);
    }
    @Test
    public void  updeat() {
        Emp emp = userDao.selectByid(1);
        System.out.println("修改前"+emp);
        emp.setEname("耨你");
        emp.setDept("大碗大碗的");
        userDao.update(emp);
        Emp newemp = userDao.selectByid(1);
        System.out.println("修改后"+newemp);
    }
}

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值