<?xml version="1.0" encoding="utf-8" ?><rss version="2.0"><channel><title><![CDATA[涂文远的博客]]></title><description><![CDATA[If you really want to do something, you'll find a way, if you don't, you'll find an excuse.]]></description><link>https://blog.youkuaiyun.com/daividtu</link><language>zh-cn</language><generator>https://blog.youkuaiyun.com/</generator><copyright><![CDATA[Copyright &copy; daividtu]]></copyright><item><title><![CDATA[MyBatis(下)]]></title><link>https://blog.youkuaiyun.com/daividtu/article/details/107493592</link><guid>https://blog.youkuaiyun.com/daividtu/article/details/107493592</guid><author>daividtu</author><pubDate>Tue, 21 Jul 2020 17:16:49 +0800</pubDate><description><![CDATA[MyBatis Dao开发


]]></description><category></category></item><item><title><![CDATA[MyBatis(上)]]></title><link>https://blog.youkuaiyun.com/daividtu/article/details/107485307</link><guid>https://blog.youkuaiyun.com/daividtu/article/details/107485307</guid><author>daividtu</author><pubDate>Tue, 21 Jul 2020 16:03:43 +0800</pubDate><description><![CDATA[MyBatis介绍 ：

是一个优秀的开源持久层框架，半自动化的ORM框架，前身是IBatis，2010年由apache迁移到了google改名mybaits,2013迁移到了github

持久层数据框架 专注于数据库打交道的这个一个分层

持久层技术

1、JDBC a.java访问数据库

2、Hibernate 通过Hibernate框架访问数据库

3、MyBatis 通过MyBatis框架访问数据库

MyBatis第一个项目

导入jar包



添加配置文件src/mybatis.xml..]]></description><category></category></item><item><title><![CDATA[springDao]]></title><link>https://blog.youkuaiyun.com/daividtu/article/details/107386985</link><guid>https://blog.youkuaiyun.com/daividtu/article/details/107386985</guid><author>daividtu</author><pubDate>Thu, 16 Jul 2020 17:01:10 +0800</pubDate><description><![CDATA[spring整合JDBC

导入所需jar包



Bank.java


package com.twy.pojo;

public class Bank {
	Integer accountId;
	String accountname;
	Double accountmoney;

	public Integer getAccountId() {
		return accountId;
	}

	public void setAccountId(Integer accountId) {
		this.]]></description><category></category></item><item><title><![CDATA[springAOP]]></title><link>https://blog.youkuaiyun.com/daividtu/article/details/107376656</link><guid>https://blog.youkuaiyun.com/daividtu/article/details/107376656</guid><author>daividtu</author><pubDate>Thu, 16 Jul 2020 12:04:20 +0800</pubDate><description><![CDATA[静态代理的弊端：一个代理对象只能服务于一个接口，当项目中的对象规模比较大的时候，代理类就规模很大，不便于扩展和管理；

解决方案：1、装饰模式 2、动态代理



AOP基本概念：AOP为Aspect Oriented Programming 的缩写，意为： 面向切面编程，通过预编译方式和运行期动态代理实现程序功能统一维护的一种技术。AOP是OOP的延续，是软件开发中的一个热点，也是spring框架中的一个重要内容，是函数式编程的一种衍生泛型。利用AOP可以对业务逻辑的各个部分进行隔离，从而使得业务逻辑..]]></description><category></category></item><item><title><![CDATA[SpringIOC]]></title><link>https://blog.youkuaiyun.com/daividtu/article/details/107363789</link><guid>https://blog.youkuaiyun.com/daividtu/article/details/107363789</guid><author>daividtu</author><pubDate>Wed, 15 Jul 2020 17:25:47 +0800</pubDate><description><![CDATA[IOC 控制反转：

对象创建工作交给别人来完成

springIOC 基于XML方式解决程序耦合



setter注入参数 及 构造注入参数


package com.twy.service;

public class DbUtil {
	String driver;
	String url;
	String uname;
	String upwd;

	public DbUtil(String driver, String url, String uname, String upwd) {
		s]]></description><category></category></item><item><title><![CDATA[Springmvc用法详情]]></title><link>https://blog.youkuaiyun.com/daividtu/article/details/107312651</link><guid>https://blog.youkuaiyun.com/daividtu/article/details/107312651</guid><author>daividtu</author><pubDate>Mon, 13 Jul 2020 18:44:16 +0800</pubDate><description><![CDATA[1.地址后面拼接参数及显示到jsp页面


package com.twy.controller;

import org.springframework.stereotype.Controller;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.ResponseBody;
import org.springframework.web.]]></description><category></category></item><item><title><![CDATA[Springmvc第一个项目]]></title><link>https://blog.youkuaiyun.com/daividtu/article/details/107246613</link><guid>https://blog.youkuaiyun.com/daividtu/article/details/107246613</guid><author>daividtu</author><pubDate>Fri, 10 Jul 2020 11:52:26 +0800</pubDate><description><![CDATA[1.建立javaweb项目 导入spring所需jar包



2.加入配置文件

web.xml


&lt;?xml version="1.0" encoding="UTF-8"?&gt;
&lt;web-app xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns="http://java.sun.com/xml/ns/javaee" xsi:schemaLocation="http://java.sun.com/xml/ns/jav.]]></description><category></category></item><item><title><![CDATA[Flutter 调用Android原生方法]]></title><link>https://blog.youkuaiyun.com/daividtu/article/details/107181896</link><guid>https://blog.youkuaiyun.com/daividtu/article/details/107181896</guid><author>daividtu</author><pubDate>Tue, 07 Jul 2020 15:15:03 +0800</pubDate><description><![CDATA[flutter代码


import 'dart:io';

import 'package:flutter/material.dart';
import 'package:flutter/services.dart';

void main() {
  runApp(MaterialApp(
    debugShowCheckedModeBanner: false,
    title: '测试程序',
    theme: ThemeData(primaryColor: Colors.greenAcc]]></description><category></category></item><item><title><![CDATA[Flutter 沉浸式状态栏 及 修改状态栏字体颜色]]></title><link>https://blog.youkuaiyun.com/daividtu/article/details/107104751</link><guid>https://blog.youkuaiyun.com/daividtu/article/details/107104751</guid><author>daividtu</author><pubDate>Fri, 03 Jul 2020 14:17:07 +0800</pubDate><description><![CDATA[效果图



实现代码


import 'dart:io';

import 'package:flutter/material.dart';
import 'package:flutter/services.dart';

void main() {
  runApp(
      MaterialApp(
    debugShowCheckedModeBanner: false,
    title: '测试程序',
    theme: ThemeData(primaryColor: Colors]]></description><category></category></item><item><title><![CDATA[flutter DefaultTabController]]></title><link>https://blog.youkuaiyun.com/daividtu/article/details/107101812</link><guid>https://blog.youkuaiyun.com/daividtu/article/details/107101812</guid><author>daividtu</author><pubDate>Fri, 03 Jul 2020 11:17:52 +0800</pubDate><description><![CDATA[效果



实现代码


import 'package:flutter/material.dart';

void main(){
  runApp(MaterialApp(
    debugShowCheckedModeBanner: false,
    title: '测试程序',
    theme: ThemeData(primaryColor: Colors.greenAccent),
    home: MyApp(),
  ));
}

class MyApp extends State]]></description><category></category></item><item><title><![CDATA[Flutter 加载中视图、失败视图、空视图封装]]></title><link>https://blog.youkuaiyun.com/daividtu/article/details/107084796</link><guid>https://blog.youkuaiyun.com/daividtu/article/details/107084796</guid><author>daividtu</author><pubDate>Thu, 02 Jul 2020 15:12:45 +0800</pubDate><description><![CDATA[效果



实现代码如下

test.dart


import 'dart:io';
import 'dart:math';
import 'package:com/widget/base_layout.dart';
import 'package:flutter/cupertino.dart';
import 'package:flutter/material.dart';
import 'package:flutter/services.dart';

void main() {
  runApp(M]]></description><category></category></item><item><title><![CDATA[Flutter之ListView 嵌套不同的Item]]></title><link>https://blog.youkuaiyun.com/daividtu/article/details/107077437</link><guid>https://blog.youkuaiyun.com/daividtu/article/details/107077437</guid><author>daividtu</author><pubDate>Thu, 02 Jul 2020 09:45:32 +0800</pubDate><description><![CDATA[效果

实现代码如下

home_page.dart


import 'dart:convert';
import 'dart:ffi';

import 'package:flutter/material.dart';
import 'package:flutterwncq/constants/constants.dart' show AppUrls;
import 'package:flutterwncq/models/index_data_bean.dart';
import 'package:..]]></description><category></category></item><item><title><![CDATA[flutter 之 ListView控件 支持下拉刷新 滑道底部自动加载更多]]></title><link>https://blog.youkuaiyun.com/daividtu/article/details/106620527</link><guid>https://blog.youkuaiyun.com/daividtu/article/details/106620527</guid><author>daividtu</author><pubDate>Mon, 08 Jun 2020 15:47:21 +0800</pubDate><description><![CDATA[效果



实现代码


import 'dart:convert';

import 'package:flutter/cupertino.dart';
import 'package:flutter/material.dart';
import 'package:flutterwncq/models/article_data_bean.dart';
import 'package:flutterwncq/utils/net_utils.dart';

class CQInformationPage ex]]></description><category></category></item><item><title><![CDATA[RelativeLayout在flutter体现]]></title><link>https://blog.youkuaiyun.com/daividtu/article/details/106574724</link><guid>https://blog.youkuaiyun.com/daividtu/article/details/106574724</guid><author>daividtu</author><pubDate>Fri, 05 Jun 2020 17:29:28 +0800</pubDate><description><![CDATA[android                                           flutter

FrameLayout/RelativeLayout  ----------------------------------    Stack


&lt;?xml version="1.0" encoding="utf-8"?&gt;
&lt;RelativeLayout xmlns:an...]]></description><category></category></item><item><title><![CDATA[底部导航栏]]></title><link>https://blog.youkuaiyun.com/daividtu/article/details/106572916</link><guid>https://blog.youkuaiyun.com/daividtu/article/details/106572916</guid><author>daividtu</author><pubDate>Fri, 05 Jun 2020 16:21:44 +0800</pubDate><description><![CDATA[实现效果



实现代码






import 'dart:io';
import 'package:flutter/material.dart';
import 'package:flutter/services.dart';

void main() {
  runApp(MaterialApp(
    debugShowCheckedModeBanner: false,
    home: MyApp(),
  ));
  if (Platform.isAndroid) {
    System]]></description><category></category></item><item><title><![CDATA[flutter控件设置背景图]]></title><link>https://blog.youkuaiyun.com/daividtu/article/details/106551949</link><guid>https://blog.youkuaiyun.com/daividtu/article/details/106551949</guid><author>daividtu</author><pubDate>Thu, 04 Jun 2020 17:18:43 +0800</pubDate><description><![CDATA[效果图




import 'dart:io';
import 'package:flutter/material.dart';
import 'package:flutter/services.dart';

void main() {
  runApp(MaterialApp(
    debugShowCheckedModeBanner: false,
    home: MyApp(),
  ));
  if (Platform.isAndroid) {
    SystemUiOverlaySt]]></description><category></category></item><item><title><![CDATA[LinerLayout在flutter体现]]></title><link>https://blog.youkuaiyun.com/daividtu/article/details/106540526</link><guid>https://blog.youkuaiyun.com/daividtu/article/details/106540526</guid><author>daividtu</author><pubDate>Thu, 04 Jun 2020 16:22:30 +0800</pubDate><description><![CDATA[android 原生LinerLayout 垂直、水平 及 权重


&lt;?xml version="1.0" encoding="utf-8"?&gt;
&lt;LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
    android:orientation="vertical"
    android:layout_width="match_parent"
    android:layout_height]]></description><category></category></item><item><title><![CDATA[Android.mk生成so库(openwnn输入法为例)]]></title><link>https://blog.youkuaiyun.com/daividtu/article/details/91982707</link><guid>https://blog.youkuaiyun.com/daividtu/article/details/91982707</guid><author>daividtu</author><pubDate>Fri, 14 Jun 2019 16:41:49 +0800</pubDate><description><![CDATA[openwnn输入法下载地址

https://storage.googleapis.com/google-code-archive-source/v2/code.google.com/openwnn-legacy/source-archive.zip

里面有个jni文件夹 里面都c/c++相关代码 我们需要把它编译成相应的so库

其实很简单 只是我们很少在linux环境下自己去编译so库 ...]]></description><category></category></item><item><title><![CDATA[Camera实现3D效果]]></title><link>https://blog.youkuaiyun.com/daividtu/article/details/90481581</link><guid>https://blog.youkuaiyun.com/daividtu/article/details/90481581</guid><author>daividtu</author><pubDate>Fri, 24 May 2019 16:48:51 +0800</pubDate><description><![CDATA[android.graphics.Camera:3D开发
官方介绍

A camera instance can be used to compute 3D transformations and generate a matrix that can be applied, for instance, on aCanvas。

一个照相机实例可以被用于计算3D变换，生成一个可以被使用的Matrix...]]></description><category></category></item><item><title><![CDATA[ViewPager翻转特效]]></title><link>https://blog.youkuaiyun.com/daividtu/article/details/90296081</link><guid>https://blog.youkuaiyun.com/daividtu/article/details/90296081</guid><author>daividtu</author><pubDate>Fri, 17 May 2019 17:53:04 +0800</pubDate><description><![CDATA[先来看个简单的特效 再一步步分析



代码也比较简单
activity_main.xml


&lt;android.support.v4.view.ViewPager
    android:id="@+id/vp"
    xmlns:android="http://schemas.android.com/apk/res/android"
    android:layout_width="...]]></description><category></category></item></channel></rss>