A股上市公司传智教育(股票代码 003032)旗下技术交流社区北京昌平校区

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

用自己的语言,把自己理解的Mybatis入门案例(xml配置方式和注解的方式)描述出来

16 个回复

倒序浏览
xml配置方式:
1.建立maven项目,在pom.xml文件中添加 mybatis、mysql-connector-java 的坐标
2.编写User实体类 implements Serializable
3.编写持久层接口,创建 List<User> findAll();方法
4.编写持久层接口映射文件,mapper标签的namespace设为持久层接口的全路径,mapper标签内创建select标签,id设为持久层接口的方法名 resultType设为User实体类的全路径,select标签中定义sql语句
5.在resources中建立主配置文件,配置mysql环境信息,配置映射信息mapper标签的resource设为持久层接口映射文件全路径,使用/分隔
6.编写测试代码:加载主配置文件,创建 SqlSessionFactory 的构建者对象,使用构建者创建工厂对象 SqlSessionFactory,使用 SqlSessionFactory 生产 SqlSession 对象,使用 SqlSession 创建 dao 接口的代理对象,使用代理对象执行方法,释放资源

注解方式:
1.建立maven项目,在pom.xml文件中添加 mybatis、mysql-connector-java 的坐标
2.编写User实体类 implements Serializable
3.编写持久层接口,创建 List<User> findAll();方法并添加 @Select(sql语句) 注释
4.在resources中建立主配置文件,配置mysql环境信息,配置映射信息mapper标签的class设为持久层接口的全路径
5.编写测试代码:加载主配置文件,创建 SqlSessionFactory 的构建者对象,使用构建者创建工厂对象 SqlSessionFactory,使用 SqlSessionFactory 生产 SqlSession 对象,使用 SqlSession 创建 dao 接口的代理对象,使用代理对象执行方法,释放资源
回复 使用道具 举报
用自己的语言,把自己理解的Mybatis入门案例(xml配置方式和注解的方式)描述出来
答:
        xml配置:
                1.创建maven工程,然后在pom文件中设置依赖;
                        必须指定打包格式、设置maven和数据库坐标;
                        如果要进行测试,可以设置测试驱动--junit;
                        如果要查看日志信息,可以设置日志的工具包--log4j(需导入log4j.properties);
                2.编写User实体类和Userdao接口:
                        User实体类要实现Serializble(序列化接口),且实体类的属性要和数据库的列名一致;
                        Userdao接口定义一个查询的抽象方法;
                3.设置主配置文件:
                        设置约束信息;
                        设置数据库信息:
                                指定数据库id(可自定义);
                                指定事务类型--JDBC;
                                指定数据源--POOLED;
                                设置连接信息:driver、url、username、password;
                        设置映射配置文件位置信息:
                                指定映射配置文件路径,指定方式:resource
                4.设置映射配置文件
                        设置约束信息
                        指定dao全限定的类名和方法,定义sql语句
                5.编写测试类
                        读取配置文件信息,获取字节输入流对象;
                        创建工厂对象:先创建构建者对象,传入字节流,获取工厂对象;
                        创建session对象;
                        获取代理对象;
                        执行代理对象的具体方法;
                        关闭资源--字节流和session对象;
       
        注解方式:
                实现方式和xml类似,需要在原本的基础更改三个位置:
                1.编写UserDao接口时,要添加注解@Select("sql语句")
                2.指定映射位置信息时,需要指定UserDao接口权限的类名,指定方式:class;
                3.映射配置文件不要编写,可直接舍去;
回复 使用道具 举报
用自己的语言,把自己理解的Mybatis入门案例(xml配置方式和注解的方式)描述出来
答:
xml配置方式:
1.导入mysql驱动包,mybatis框架jar包,junit和log4j的jar包。
2.创建映射信息xml文件:
添加一个<mapper>便签(设置namespace属性,值为dao里接口的全限定类名);里面创建一个<select>子标签,设置id为接口中要调用的方法名,设置一个resultType属性
,值为要封装成为的类的全限定类名。标签内容为sql语句。
3.创建主配置信息xml文件:
添加<configuration>标签:
(1)配置数据源环境:<configuration>标签里面添加 <environments>标签,<environments>标签里面再嵌套<environment>标签。<environments>标签的default属性与<environment>标签
的id属性值一致;
<environment>标签内通过<transactionManager>指定事物类型。通过 <dataSource>指定连接数据库对象类型, <dataSource>标签里再通过<property>f分别指定url
、driver、username、password等连接数据库所需信息。
(2)配置映射环境:<configuration>标签里面添加 <mappers>标签,标签里面添加<mapper>标签设置resource属性值为映射信息xml文件的路径。
4.编写main方法:
(1)通过Resources.getResourceAsStream()方法读取主配置xml文件,返回一个输入流。
(2)创建SqlSessionFactoryBuilder对象,调用它的build方法传入输入流,获得SqlSessionFactory对象。
(3)SqlSessionFactory对象调用openSession方法获得SqlSession对象。
(4)SqlSession对象调用getMapper方法,获得dao接口的代理对象。
(5)代理对象调用接口中的并增强finAll方法,返回一个List<User>
(6)释放资源。

注解的方式:
只需要改两点
1.不需要映射信息xml文件了,在主配置信息xml文件配置映射环境中,修改<mapper>标签把resource属性设为class属性,值设为接口的全限定类名。
2.接口上面添加注解@Select(sql语句)。
注意:用注解之前配置的映射信息xml文件就需要移动位置,保证不能跟接口所处的位置对应。
回复 使用道具 举报
用自己的语言,把自己理解的Mybatis入门案例(xml配置方式和注解的方式)描述出来

①想要使用mybatis框架第一步就是导包,因为mybatis是持久层框架,必须与数据库打交道,就需要加载数据库驱动jar包,然后根据需要增加测试需要的Junit包
②创建数据库和实体类,数据库列名和实体类属性名需一致,方便封装
③编写持久层映射文件,我们需要给mapper标签添加namespace属性,然后定义sql 标签,sql语句,在sql标签指定id属性(需要与持久层接口中定义的方法名一致),这样就可以确定唯一sql执行语句
④编写mybatis核心l配置文件,定义数据库连接基本信息,添加映射持久层的映射文件位置,我们可以通过mapper 的resource属性确定是通过.xml配置文件来映射路径,或者通过class属性来确定注解配置文件路径
⑤在测试类中读取核心配置文件,创建 SqlSessionFactory 的构建者对象,使用构建者创建工厂对象 SqlSessionFactory,使用 SqlSessionFactory 生产 SqlSession 对象 ,使用 SqlSession 创建 dao 接口的代理对象,执行sql语句,释放资源
回复 使用道具 举报
用自己的语言,把自己理解的Mybatis入门案例(xml配置方式和注解的方式)描述出来
xml配置方式:
        这种方式需要配置持久层接口(UserDao)映射文件(UserDao.xml),
        文件创建位置:必须和持久层接口在相同的包中。
        名称:必须以持久层接口名称命名文件名,扩展名是.xml。
        配置文件中的mapper的namespace的值是UserDao的全限定类名,
        select标签中的id值为UserDao中定义的方法名,在select标签中还要定义resultType属性,属性值为User实体类的全限定类名,这样sql语句查询的结果才知道以什么类型返回。
        最后就是在标签体中定义sql语句了。
        除此之外,还要在主配置文件SqlMapConfig.xml中告知mybatis 映射配置的位置,
        <mappers>
        <!-- 指定resources目录下的文件需要用/来指定 -->
        <mapper resource="com/itheima/dao/UserDao.xml"/>
        </mappers>

       
注解的方式:
        这种方式需要在UserDao的findAll方法写select注解,并且在注解中写sql语句,
        要注意的是:注解方式与映射文件不能同时存在,要不然idea不知道你要使用哪种方式查询数据库中的数据
        除此之外,也要在主配置文件SqlMapConfig.xml中告知mybatis 映射配置的位置,
        <mappers>
        <mapper class="com.itheima.dao.UserDao"/>
        </mappers>
回复 使用道具 举报
        在SqlMapConfig中,通过environments配置数据库类型,注册驱动,数据库地址,数据库用户名和数据库密码,最后用mapper用来映射到一个xml文件,通过这个xml文件,我们能找到与数据库字段一一对应的表,和需要将数据库中的内容封装到那个对象中.在Java程序中,我们通过Resources.getResourceAsStream("SqlMapConfig.xml")来读取配置文件,因为SqlSessionFactory是一个接口,所以不能被实例化,所以通过实例化的形式创建出SqlSessionFactoryBuilder,然后通过构造者模式创建一个SqlSessionFactory工厂,再通过openSession()创建出SqlSession,通过代理模式获得一个代理对象,然后调用方法,遍历集合,最后释放资源
回复 使用道具 举报

用自己的语言,把自己理解的Mybatis入门案例(xml配置方式和注解的方式)描述出来
      两种方式创建步骤相同,不用的地方在于配置文件的方式不同
1.创建数据库和表:在SQLyog中创建相应的数据库和表,要注意创建的表和实体类名称要一致
2.创建Maven工程:
(1)在pom.xml中引入Maven坐标
(2)创建User实体类,要与数据库中表一致
(3)创建UserDao接口:public List<User> findAll();
3.配置文件
(1)Mybatis主配置文件,配置数据库环境、映射信息
(2)a   配置文件方式:IUserDao.xml
               <select id="findAll" resultType="domain.User">
                    SELECT * FROM USER
                </select>-->
      在SqlMapConfig.xml为<mapper resource="dao/IUserDao.xml"/>
        b    注解方式
        在接口添加@Select注解:
          @Select("Sql语句")
           public List<User> findAll();
        在SqlMapConfig.xml为<mapper class="dao.IUserDao"/>
4.编写main方法
    1.读取配置文件
    2.创建SqlSessionFactory的构建者对象
    3.使用构建者创建工厂对象SqlSessionFactory
    4.使用SqlSessionFactory生产SqlSession对象
    5.使用SqlSession创建dao接口的代理对象
    6.使用代理对象执行查询所有方法
    7.释放资源
回复 使用道具 举报
用自己的语言,把自己理解的Mybatis入门案例(xml配置方式和注解的方式)描述出来
xml配置方式:引入mybatis相关jar包 ->  编写UserMapper接口和User  ->  编写UserMapper.xml
映射文件  ->   编写核心配置文件SqlMapConfig.xml,引入UserMapper.xml  ->  单元测试
注解的方式:引入mybatis相关jar包 ->  编写UserMapper接口和User  ->  UserMapper中加入注解  ->   
编写核心配置文件SqlMapConfig.xml,引入注解类UserMapper  ->  单元测试
回复 使用道具 举报

用自己的语言,把自己理解的Mybatis入门案例(xml配置方式和注解的方式)描述出来
xml配置方式
       1.环境搭建。
        建好maven项目后,在pom.xml文件中添加依赖,如mybatis、junit、mysql-connector-java、log4j等。之后在SqlMapConfig.xml主配置文件中配置MySQL的环境并添加mappers。
        在resources资源目录下建立与dao相对应的目录结构,并在其中创建UserDao.xml映射配置文件。在该文件中,设置mapper标签的属性namespace为UserDao的全限定路径。在select标签中设置属性id为方法名,resultType为User的全限定路径,并设置标签体内容为sql语句。
       2.创建User类,创建UserDao接口,在接口中定义findAll()方法,在该方法上添加注解(@Select("select *from user"))。
       3.编写测试类。在测试方法中,读取配置文件,创建SqlSessionFactory工厂,使用工厂生产SqlSession对象,使用SqlSession创建Dao接口的代理对象,使用代理对象执行方法,释放资源。
       4.执行测试方法,检验结果。
注解的方式:
       1.环境搭建。建好maven项目后,在pom.xml文件中添加依赖,如mybatis、junit、mysql-connector-java、log4j等。之后在SqlMapConfig.xml主配置文件中配置MySQL的环境并添加mappers。
       2.创建User类,创建UserDao接口,在接口中定义findAll()方法,在该方法上添加注解(@Select("select *from user"))。
       3.编写测试类。在测试方法中,读取配置文件,创建SqlSessionFactory工厂,使用工厂生产SqlSession对象,使用SqlSession创建Dao接口的代理对象,使用代理对象执行方法,释放资源。
       4.执行测试方法,检验结果。
回复 使用道具 举报
1.配置主配置文件,文件中包含数据库连接信息,映射配置文件信息(注解配置时是Dao接口的全类名)
2.使用iBatis.io.Resources的Resources.getResourceAsStream()方法获取主配置文件的输入流对象
3.使用sqlSessionFactoryBuilder获取session的工厂对象,参数为主配置文件的输入流对象
4.使用工厂对象创建session对象
5.使用session对象的getMapper()方法,参数为接口dao.class,使用动态代理的方式实现并增强dao的内容,sql语句为映射配置文件中配置的语句或dao接口上的注解中的sql语句
6.获取结果
7.释放资源
回复 使用道具 举报
用自己的语言,把自己理解的Mybatis入门案例(xml配置方式和注解的方式)描述出来
答:Mybatis入门案例
1.导入Maven坐标:必备的有org.mybatis,mysql和junit依赖。
2.准备环境:在main中的domain包下创建需要的实体类,在dao包下创建Dao接口,定义操作数据库的抽象方法。准备包含数据库信息的properties文件。
3.编写配置文件:①引入properties文件;②配置环境和连接数据库的4个基本信息;③注册指定包下的所有mapper接口(xml文件)
4.编写映射配置文件,创建在resources文件中,但必须和持久层接口在相同的包中,以持久层接口名称命名文件名,扩展名是.xml。mapper标签要定义namespace,标签内配置每种接口中方法的id和参数返回值类型,编写具体的sql语句。
5.编写测试类,运行程序
回复 使用道具 举报
XML配置方式入门案例:

1/添加坐标 ->联网或者本地查找添加jar包的各个坐标

2/创建User数据库表  ->有一个数据库做为查找的基准

3/创建User实体类和接口

如果是使用xml配置文件方式的话要编写映射xml文件,如果是使用注解配置的话不需要编写xml文件

4/编写sqlMapper.xml映射文件 ->默认使用xml配置方式映射文件 里面要注意的有:namespace要使用全限定类名

id要和接口中的方法id进行对应. mapper对象里面包含sql语句和namespace全限定User类名+"."id

5/编写sqlMapConfig.xml核心配置文件

6/编写实现类 ->一共分为6个步骤(

1/加载主配置文件resources ->主配置文件里面包含了哪些内容:

2/创建SqlSessionFactory工厂对象 ->构建者对象 通过SqlSessionFactoryBuilder.build()获取工厂对象

3/获取 SqlSession对象,通过工厂对象打开一个Session来获取 ->OpenSession

4/获取代理对象 getMapper(接口的class文件)

5/执行代理对象中的方法

6/释放资源)

配置映射文件需要注意的地方:

1/首先在resources下需要先创建和接口相同包名的包,然后在包下创建和接口相同名称的XML文件.

2/然后在文件中配置信息.需要注意的是,配置信息中mapper标签的nameSpace需要写接口的全限定类名,它和下面标签中的id构成了获取唯一的方法名

3/其中增删改查标签中的parameterType 和 resultType需要根据查询的方法中是否有参数和返回结果来判定是否需要添加,和添加相对应的参数类型和返回结果类型.

核心配置文件需要注意的地方:

1/在configuration标签下定义properties标签通过属性引用外部数据库配置文件信息.需要在下方property标签中的value改成${...}

2/定义类名别名typeAliases给domain包下的所有文件起别名.

3/在配置映射文件的位置mapper标签下定义一个package标签,扫描配置dao包下的所有文件别名.

注解配置方式入门案例:

相对于XML配置方式而言,注解配置方式会比较快捷简便.

1/不需要再配置映射文件,只需要在接口的方法名上直接写上注解名,在注解名内定义增删改查的sql语句即可.省去了定义参数类型parameterType和resultType返回结果类型

2/同样需要配置核心文件.
回复 使用道具 举报

用自己的语言,把自己理解的Mybatis入门案例(xml配置方式和注解的方式)描述出来
答:
xml配置方式:
1.导入mysql驱动包,mybatis框架jar包,junit和log4j的jar包。
2.创建映射信息xml文件:
添加一个<mapper>便签(设置namespace属性,值为dao里接口的全限定类名);里面创建一个<select>子标签,设置id为接口中要调用的方法名,设置一个resultType属性
,值为要封装成为的类的全限定类名。标签内容为sql语句。
3.创建主配置信息xml文件:
添加<configuration>标签:
(1)配置数据源环境:<configuration>标签里面添加 <environments>标签,<environments>标签里面再嵌套<environment>标签。<environments>标签的default属性与<environment>标签
的id属性值一致;
<environment>标签内通过<transactionManager>指定事物类型。通过 <dataSource>指定连接数据库对象类型, <dataSource>标签里再通过<property>f分别指定url
、driver、username、password等连接数据库所需信息。
(2)配置映射环境:<configuration>标签里面添加 <mappers>标签,标签里面添加<mapper>标签设置resource属性值为映射信息xml文件的路径。
4.编写main方法:
(1)通过Resources.getResourceAsStream()方法读取主配置xml文件,返回一个输入流。
(2)创建SqlSessionFactoryBuilder对象,调用它的build方法传入输入流,获得SqlSessionFactory对象。
(3)SqlSessionFactory对象调用openSession方法获得SqlSession对象。
(4)SqlSession对象调用getMapper方法,获得dao接口的代理对象。
(5)代理对象调用接口中的并增强finAll方法,返回一个List<User>
(6)释放资源。

注解的方式:
只需要改两点
1.不需要映射信息xml文件了,在主配置信息xml文件配置映射环境中,修改<mapper>标签把resource属性设为class属性,值设为接口的全限定类名。
2.接口上面添加注解@Select(sql语句)。
注意:用注解之前配置的映射信息xml文件就需要移动位置,保证不能跟接口所处的位置对应。
回复 使用道具 举报
用自己的语言,把自己理解的Mybatis入门案例(xml配置方式和注解的方式)描述出来
创建mavne工程按规范创建包路径
在pom.xml导入mybatis坐标及mysql、junit、log4j等需要用到的jar包坐标
为了从数据库获取数据,映射数据库表生成实体类比如:User
编写实体类对应的持久层接口:UserDao提供相对应的查询所有的findAll方法或者(在方法上写注释@Select等相对应的注释编写sql语句)
按照规范目录编写对应的持久层接口的映射xml配置文件:<mapper>中指定接口所在全类名,指定方法id,有返回值指定返回值类型,<对应标签>编写sql语句(注释配置不需要编写xml配置文件)
编写主配置文件SqlMapconfig.xml:配置环境->配置mysql环境->配置事物的类型 ->配置数据库连接池指定数据库->配置映射的xml文件位置或者(注解配置的class="注解的接口位置")
编写测试类测试:
                1):读取主配置文件获取输入流  
                2):创建SqlsessionFactory工厂实现类SqlsessionFactoryBuilder获取工厂对象传入流  
                3):使用工厂创建Sqlsession对象
                4)使用Sqlsession创建Dao接口的代理对象
                5):执行接口中方法
                6):释放资源
回复 使用道具 举报
用自己的语言,把自己理解的Mybatis入门案例(xml配置方式和注解的方式)描述出来
答:1.环境搭建。
        建好maven项目后,在pom.xml文件中添加依赖,如mybatis、junit、mysql-connector-java、log4j等。之后在SqlMapConfig.xml主配置文件中配置MySQL的环境并添加mappers。
        在resources资源目录下建立与dao相对应的目录结构,并在其中创建UserDao.xml映射配置文件。在该文件中,设置mapper标签的属性namespace为UserDao的全限定路径。在select标签中设置属性id为方法名,resultType为User的全限定路径,并设置标签体内容为sql语句。
       2.创建User类,创建UserDao接口,在接口中定义findAll()方法,在该方法上添加注解(@Select("select *from user"))。
       3.编写测试类。在测试方法中,读取配置文件,创建SqlSessionFactory工厂,使用工厂生产SqlSession对象,使用SqlSession创建Dao接口的代理对象,使用代理对象执行方法,释放资源。
       4.执行测试方法,检验结果。
注解的方式:
       1.环境搭建。建好maven项目后,在pom.xml文件中添加依赖,如mybatis、junit、mysql-connector-java、log4j等。之后在SqlMapConfig.xml主配置文件中配置MySQL的环境并添加mappers。
       2.创建User类,创建UserDao接口,在接口中定义findAll()方法,在该方法上添加注解(@Select("select *from user"))。
       3.编写测试类。在测试方法中,读取配置文件,创建SqlSessionFactory工厂,使用工厂生产SqlSession对象,使用SqlSession创建Dao接口的代理对象,使用代理对象执行方法,释放资源。
       4.执行测试方法,检验结果。
回复 使用道具 举报
您需要登录后才可以回帖 登录 | 加入黑马