3703人加入学习
(19人评价)
SSM框架第一季 - Mybatis入门

制作完成于2018-08-27 使用Eclipse-4.7.3a、JDK8、Mybatis3.4.6

价格 免费

配置连接池的时候db.properties文件中的属性名要与applicationContext.xml dataSource 属性名要一致

[展开全文]

如果有同学遇到MyBatis Generator生成的实体类和数据库指定表中的数据不一样这个问题,需要在<jdbcConnection>这个标签里面配置这样一个<property>属性

<property name="nullCatalogMeansCurrent" value="true"/>

详细信息请参考以下链接:

https://blog.csdn.net/weixin_41809435/article/details/85207563

[展开全文]

连接对象,connection

查询对象,preparestatemen

结果集。resulrset。

加载驱动。

关闭结果集,关闭对象,关闭连接。

 

[展开全文]

有点不理解为什么没有写 parameterType但是呢能够传递参数

[展开全文]

set 标签  解决更新数据表时字符串拼接逗号","  问题

[展开全文]

<where></where>  代替 where

他可以帮助去掉    前and

 

<trim prefix="where" prefixOverrides="and"></trim>  

用于代替 上面的where ,并且使用suffixOverrides="and"  可以去掉 后and

[展开全文]

id 写主键

result  写普通属性  这样能够增加性能

[展开全文]

为什么学习框架?

所谓框架,

[展开全文]

首先创建一个接口

接口的方法名与mapper.xml中需要调用的sql语句的id一致

接口的返回值类型与xml的返回值类型一致

接口的参数类型和xml中的

[展开全文]

添加用户

在操作数据库的语句中

可以不要返回值

将传递的参数添加;比如添加一个user对象

用set方法加入所需的东西

如果用select就用select的标签

如果要插入就用insert标签

以此类推

[展开全文]

字符串拼接(%${}%)和占位符(#{})的区别

SQL中各有一个比较有意思的事情,当我们使用字符串拼接的时候我们会使用%王%,

这样会导致sql注入(不安全)

但是在sql中可以使用两个双引号包裹%来解决

 “%”‘王’“%”

在mtbayis中将‘王’用#{name}代替即可

[展开全文]

字符串拼接(%${}%)和占位符(#{})的区别

SQL中各有一个比较有意思的事情,当我们使用字符串拼接的时候我们会使用%王%,

这样会导致sql注入(不安全)

但是在sql中可以使用两个双引号包裹%来解决

 “%”‘王’“%”

在mtbayis中将‘王’用#{}

[展开全文]

在xml中写sql语句

在user中调用xml映射

for循环中用于输出list中给存放的结果集。

在mybatis中 模糊查询(like)中 我们在sql中写%王%在mybatis中用%${王}%,用${}去包裹字符串

[展开全文]

在mapper中

namespace给文件重新命名

在select中

需要完整的select  sql语句 

在mybatis中需要

selcet id

select语句中占位符不在使用?而使用sql

parameterType中放置类型

[展开全文]

打开Package Explorer

新建working set :项目空白区域右键new ->other-java->...

显示新建的working set

[展开全文]

1.jdbc耗资源,重复的获取连接

2.jdbc

3.sql语句查询

[展开全文]

*********Mapper动态代理********

-------模糊查询-------

1>MapperTest.java

@Test
public void Test2() throws IOException{
  //配置文件
  String resource = "sqlMapConfig.xml";
  //读取配置文件
  InputStream in = Resources.getResourceAsStream(resource);
  
  //创建sqlSessionFactory
  SqlSessionFactory ssf = new SqlSessionFactoryBuilder(in);
  
  //生产一个sqlSession
  SqlSession session = ssf.openSession();

  UserMapper mapper = session.getMapper(UserMapper.class);

  List<User> list = mapper.selectUserByName("王");
  
  for(User u : list){
    System.out.println(u);
  }
}

2>UserMapper.java

public interface UserMapper{
  //动态代理原则:
  //1、接口方法名需要与mapper.xml的要调用的sql语句的id一致
  //2、接口的形参类型要与mapper.xml中parameterType一致
  //3、接口返回值需要与mapper.xml中resultType一致
  //4、mapper.xml中namespace要与接口的全包名一致
  //5、注意:mapper动态代理开发中,用什么类型接返回的结果,mybatis会根据返回内容自动选择的。如果返回的是对象,直接用对象接;如果返回的是列表,直接用列表接。

  //通过用户名模糊查询,获取用户列表
  public List<User> selectUserByName(String name);
}

3>UserMapper.xml

<!-- 模糊查询,返回用户信息列表 -->
<select id="selectUserByName" parameterType="String" resultType=""com.XXX.bean.User>
   select * from user where u_username like '%'#{name}'%'
</select>

 

[展开全文]

授课教师

SIKI学院老师

课程特色

下载资料(1)
视频(37)